Bendable sensor device for monitoring joint extension and flexion

ABSTRACT

A system for rehabilitation is disclosed. The system for rehabilitation includes one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are coupled to a user. The system for rehabilitation further includes one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors. The one or more processing devices are configured to execute the instructions to receive information from the one or more sensors. The one or more processing devices are further configured to execute the instructions to transmit the information to a computing device controlling an electromechanical device, via the one or more network interface cards.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims priority to and the benefit of U.S. Provisional Application Patent Ser. No. 62/816,503, filed Mar. 11, 2019, the entire disclosure of which is hereby incorporated by reference.

TECHNICAL FIELD

This disclosure relates generally to electromechanical devices. More specifically, this disclosure relates to a control system for an electromechanical device for rehabilitation or exercise.

BACKGROUND

Various devices may be used by people for exercising and/or rehabilitating parts of their bodies. For example, as part of workout regimens to maintain a desired level of fitness, users may operate devices for a period of time or distance. In another example, a person may undergo knee surgery and a physician may provide a treatment plan for rehabilitation to strengthen and/or improve flexibility of the knee that includes periodically operating a rehabilitation device for a period of time and/or distance. The exercise and/or rehabilitation devices may include pedals on opposite sides. The devices may be operated by users engaging the pedals with their feet or their hands and rotating the pedals.

SUMMARY

In general, the present disclosure provides a control system for a rehabilitation or exercise device and associated components of the device.

In one aspect, a system for rehabilitation includes one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are coupled to a user. The system for rehabilitation further includes one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors. The one or more processing devices are configured to execute the instructions to receive information from the one or more sensors. The one or more processing devices are further configured to execute the instructions to transmit the information to a computing device controlling an electromechanical device, via the one or more network interface cards.

In another aspect, a system for rehabilitation includes one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are coupled to a user. The system for rehabilitation further includes an electromechanical device comprising an electric motor and one or more pedals. The system for rehabilitation further includes one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors. The one or more processing devices are configured to execute the instructions to (i) receive configuration information for a pedaling session; (ii) based on the configuration information for the pedaling session, set a resistance parameter and a maximum pedal force parameter; (iii) measure force applied to the one or more pedals of the electromechanical device as a user pedals the electromechanical device, wherein, based on the resistance parameter, the electric motor provides resistance during the pedaling session; (iv) determine whether the measured force exceeds a value of the maximum pedal force parameter; and (v) responsive to determining that the measured force exceeds the value of the maximum pedal force parameter, reduce the resistance parameter so the electric motor applies less resistance during the pedaling session to maintain a revolutions per time period threshold.

In yet another aspect, a system for rehabilitation further includes one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are flexible and worn by a user. The system for rehabilitation further includes one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors. The one or more processing devices are further configured to execute the instructions to (i) receive, from the one or more electronic devices, a plurality of angles of extension between an upper leg and a lower leg at a knee of the user, wherein the plurality of angles is measured as the user extends the lower leg away from the upper leg via the knee; (ii) present, on a user interface, a graphical animation of the upper leg, the lower leg, and the knee of the user as the lower leg is extended away from the upper leg via the knee, wherein the graphical animation includes the plurality of angles of extension as the plurality of angles of extension changes during the extension; (iii) store a lowest value, such as a smallest angle, of the plurality of angles of extension as an extension statistic for an extension session, wherein a plurality of extension statistics is stored for a plurality of extension sessions specified by the treatment plan; (iv) present progress of the plurality of extension sessions throughout the treatment plan via a graphical element presenting the plurality of extension statistics on the user interface; (v) determine whether a range of motion threshold condition is satisfied based on the plurality of angles of extension; and (vi) responsive to determining that the range of motion threshold condition is satisfied, transmit a threshold condition update to a second computing device to cause the second computing device to present the threshold condition update, via the one or more network interface cards.

From the following figures, descriptions, and claims, other technical features may be readily apparent to one skilled in the art.

Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The term “couple” and its derivatives refer to any direct or indirect communication between two or more elements, independent of whether those elements are in physical contact with one another. The terms “transmit,” “receive,” and “communicate,” as well as derivatives thereof, encompass both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrase “associated with,” as well as derivatives thereof, means to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The term “controller” means any device, system or part thereof that controls at least one operation. Such a controller may be implemented in hardware or a combination of hardware and software and/or firmware. The functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.

Moreover, various functions described below can be implemented or supported by one or more computer programs, each of which is formed from computer readable program code and embodied in a computer readable medium. The terms “application” and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or portions thereof adapted for implementation in a suitable computer readable program code. The phrase “computer readable program code” includes any type of computer code, including source code, linked or linkable code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), solid state device (SSD) memory, random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.

Definitions for other certain words and phrases are provided throughout this patent document. Those of ordinary skill in the art should understand that in many if not most instances, such definitions apply to prior as well as to future uses of such defined words and phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of this disclosure and its advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:

FIG. 1 illustrates a high-level component diagram of an illustrative rehabilitation system architecture according to certain embodiments of this disclosure;

FIG. 2 illustrates a perspective view of an example of an exercise and rehabilitation device according to certain embodiments of this disclosure;

FIG. 3 illustrates example operations of a method for controlling an electromechanical device for rehabilitation in various modes according to certain embodiments of this disclosure;

FIG. 4 illustrates example operations of a method for controlling an amount of resistance provided by an electromechanical device according to certain embodiments of this disclosure;

FIG. 5 illustrates example operations of a method for using a goniometer to measure angles of bend and/or extension of a lower leg relative to an upper leg according to certain embodiments of this disclosure;

FIG. 6 illustrates an exploded view of components of the exercise and rehabilitation device according to certain embodiments of this disclosure;

FIG. 7 illustrates an exploded view of a right pedal assembly according to certain embodiments of this disclosure;

FIG. 8 illustrates an exploded view of a motor drive assembly according to certain embodiments of this disclosure;

FIG. 9 illustrates an exploded view of a portion of a goniometer according to certain embodiments of this disclosure;

FIG. 10 illustrates a top view of a wristband according to certain embodiments of this disclosure;

FIG. 11 illustrates an exploded view of a pedal according to certain embodiments of this disclosure;

FIG. 12 illustrates additional views of the pedal according to certain embodiments of this disclosure;

FIG. 13 illustrates an example user interface of the user portal, and the user interface is configured to present a treatment plan for a user according to certain embodiments of this disclosure;

FIG. 14 illustrates an example user interface of the user portal, and the user interface is configured to present pedal settings for a user according to certain embodiments of this disclosure;

FIG. 15 illustrates an example user interface of the user portal, and the user interface is configured to present a scale for measuring pain of the user at a beginning of a pedaling session according to certain embodiments of this disclosure;

FIG. 16 illustrates an example user interface of the user portal, and the user interface is configured to present that the electromechanical device is operating in a passive mode according to certain embodiments of this disclosure;

FIGS. 17A-D illustrate an example user interface of the user portal, and the user interface is configured to present that the electromechanical device is operating in active-assisted mode and if and/or to what extent the user is applying various amounts of force to the pedals according to certain embodiments of this disclosure;

FIG. 18 illustrates an example user interface of the user portal, and the user interface is configured to present a request to modify pedal position while the electromechanical device is operating in active-assisted mode according to certain embodiments of this disclosure;

FIG. 19 illustrates an example user interface of the user portal, and the user interface is configured to present a scale for measuring pain of the user at an end of a pedaling session according to certain embodiments of this disclosure;

FIG. 20 illustrates an example user interface of the user portal, the user interface is configured to enable the user to capture an image of the body part under rehabilitation according to certain embodiments of this disclosure;

FIGS. 21A-D illustrate an example user interface of the user portal, and the user interface is configured to present angles of extension and bend of a lower leg relative to an upper leg according to certain embodiments of this disclosure;

FIG. 22 illustrates an example user interface of the user portal, and the user interface is configured to present a progress screen for a user extending the lower leg away from the upper leg according to certain embodiments of this disclosure;

FIG. 23 illustrates an example user interface of the user portal, and the user interface is configured to present a progress screen for a user bending the lower leg toward the upper leg according to certain embodiments of this disclosure;

FIG. 24 illustrates an example user interface of the user portal, and the user interface is configured to present a progress screen for measuring a pain level of the user according to certain embodiments of this disclosure;

FIG. 25 illustrates an example user interface of the user portal, and the user interface is configured to present a progress screen for measuring a strength of a body part according to certain embodiments of this disclosure;

FIG. 26 illustrates an example user interface of the user portal, and the user interface is configured to present a progress screen capable of displaying an amount of steps of the user according to certain embodiments of this disclosure;

FIG. 27 illustrates an example user interface of the user portal, and the user interface is configured to present that the electromechanical device is operating in a manual mode according to certain embodiments of this disclosure;

FIG. 28 illustrates an example user interface of the user portal, and the user interface is configured to present an option to modify a speed of the electromechanical device operating in the passive mode according to certain embodiments of this disclosure;

FIG. 29 illustrates an example user interface of the user portal, and the user interface is configured to present an option to modify a minimum speed of the electromechanical device operating in the active-assisted mode according to certain embodiments of this disclosure;

FIG. 30 illustrates an example user interface of the clinical portal, and the user interface is configured to present various options available to the clinician according to certain embodiments of this disclosure; and

FIG. 31 illustrates an example computer system according to certain embodiments of this disclosure.

DETAILED DESCRIPTION

Improvement is desired in the field of devices used for rehabilitation and exercise. People may sprain, fracture, tear or otherwise injure a body part and then consult a physician to diagnose the injury. In some instances, the physician may prescribe a treatment plan that includes operating one or more electromechanical devices (e.g., pedaling devices for arms or legs) for a period of time to exercise the affected area in an attempt to regain normal or closer-to-normal function by rehabilitating the injured body part and affected proximate areas. In other instances, the person with the injury may determine to operate a device without consulting a physician. In either scenario, the devices that are operated lack effective monitoring of (i) progress of rehabilitation of the affected area and (ii) control over the electromechanical device during operation by the user. Conventional devices lack components that enable the operation of the electromechanical device in various modes designed to improve the rate and/or enhance the effectiveness of rehabilitation. Further, conventional rehabilitation systems lack monitoring devices that aid in determining one or more properties of the user (e.g., range of motion of the affected area, heartrate of the user, etc.) and enable the adjustment of components based on the determined properties. When the user is supposed to be adhering to a treatment plan, conventional rehabilitation systems may not provide to the physician real-time results of sessions. That is, typically, the physicians have to rely on the patient's word as to whether he or she is adhering to the treatment plan. As a result of the abovementioned issues, conventional rehabilitation systems that use electromechanical devices may not provide effective and/or efficient rehabilitation of the affected body part.

Accordingly, aspects of the present disclosure generally relate to a control system for a rehabilitation and exercise electromechanical device (referred to herein as “electromechanical device” or “device”). The electromechanical device may include an electric motor configured to drive one or more radially-adjustable couplings to rotationally move pedals coupled to the radially-adjustable couplings. The electromechanical device may be operated by a user engaging the pedals with his or her hands or feet and rotating the pedals to exercise and/or rehabilitate a desired body part. The electromechanical device and the control system may be included as part of a larger rehabilitation system. The rehabilitation system may also include monitoring devices (e.g., goniometers, wristbands, force sensors in the pedals, etc.) that provide valuable information about the user to the control system. As such, the monitoring devices may be in direct or indirect communication with the control system.

The monitoring devices may include a goniometer configured to measure range of motion (e.g., angles of extension and/or bend) of a body part to which the goniometer is attached. The measured range of motion may be presented to the user and/or a physician via a user portal and/or a clinical portal. Also, to operate the electromechanical device during a treatment plan, the control system may use the measured range of motion to determine whether to adjust positions of the pedals on the radially-adjustable couplings and/or to change the mode types from one mode to another (e.g., from/to: passive, active-assisted, resistive, active) and/or durations. The monitoring devices may also include a wristband configured to track the steps of the user over a time period (e.g., a day, a week, etc.) and/or measure vital signs of the user (e.g., heartrate, blood pressure, oxygen level, etc.). The monitoring devices may also include force sensors disposed in the pedals and configured to measure the force exerted by the user on the pedals.

The control system may enable operating the electromechanical device in a variety of modes, such as a passive mode, an active-assisted mode, a resistive mode, and/or an active mode. The control system may use the information received from the measuring devices to adjust parameters (e.g., reduce resistance provided by electric motor, increase resistance provided by the electric motor, increase/decrease speed of the electric motor, adjust position of pedals on radially-adjustable couplings, etc.) while operating the electromechanical device in the various modes. The control system may receive the information from the monitoring devices, aggregate the information, make determinations using the information, and/or transmit the information to a cloud-based computing system for storage. The cloud-based computing system may maintain the information related to each user. As used herein, a cloud-based computing system refers, without limitation, to any remote computing system accessed over a network link.

A clinician and/or a machine learning model may generate a treatment plan for a user to rehabilitate a part of their body using at least the electromechanical device. A treatment plan may include a set of pedaling sessions using the electromechanical device, a set of joint extension sessions, a set of flex sessions, a set of walking sessions, a set of heartrate goals per pedaling session and/or walking session, and the like.

Each pedaling session may specify that a user is to operate the electromechanical device in a combination of one or more modes, including: passive, active-assisted, active, and resistive. The pedaling session may specify that the user is to wear the wristband and the goniometer during the pedaling session. Further, each pedaling session may include information specifying a set amount of time in which the electromechanical device is to operate in each mode, a target heartrate for the user during each mode in the pedaling session, target forces that the user is to exert on the pedals during each mode in the pedaling session, target ranges of motion the body parts are to attain during the pedaling session, positions of the pedals on the radially-adjustable couplings, and the like.

Each joint extension session may specify information relating to a target angle of extension at the joint, and each set of joint flex sessions may specify information relating to a target angle of flex at the joint. Each walking session may specify a target number of steps the user should take over a set period of time (e.g., a day, a week, etc.) and/or a target heartrate to achieve and/or maintain during the walking session.

The treatment plan may be stored in the cloud-based computing system and, when the user is ready to begin the treatment plan, downloaded to the computing device of the user. In some embodiments, the computing device that executes a clinical portal module (alternatively referred to herein as a clinical portal) may transmit the treatment plan to the computing device that executes a user portal and the user may initiate the treatment plan when ready.

In addition, the disclosed rehabilitation system may enable a physician to use the clinical portal to monitor the progress of the user in real-time. The clinical portal may present information pertaining to when the user is engaged in one or more sessions, statistics (e.g., speed, revolutions per minute, positions of pedals, forces on the pedals, vital signs, numbers of steps taken by user, ranges of motion, etc.) of the sessions, and the like. The clinical portal may also enable the physician to view before and after session images of the affected body part of the user to enable the physician to judge how well the treatment plan is working and/or to make adjustments to the treatment plan. The clinical portal may enable the physician, based on information received from the control system, to dynamically change a parameter (e.g., position of pedals, amount of resistance provided by electric motor, speed of the electric motor, duration of one of the modes, etc.) of the treatment plan in real-time.

The disclosed techniques provide numerous benefits over conventional systems. For example, to enhance the efficiency and effectiveness of rehabilitation of the user, the rehabilitation system provides granular control over the components of the electromechanical device. The control system enables, by controlling the electric motor, operating the electromechanical device in any suitable combination of the modes described herein. Further, the control system may use information received from the monitoring devices during a pedaling session to adjust parameters of components of the electromechanical device in real-time, for example. Additional benefits of this disclosure may include enabling a computing device operated by a physician to monitor the progress of a user participating in a treatment plan in real-time and/or to control operation of the electromechanical device during a pedaling session.

FIGS. 1 through 31, discussed below, and the various embodiments used to describe the principles of this disclosure are by way of illustration only and should not be construed in any way to limit the scope of the disclosure.

FIG. 1 illustrates a high-level component diagram of an illustrative rehabilitation system architecture 100 according to certain embodiments of this disclosure. In some embodiments, the system architecture 100 may include a computing device 102 communicatively coupled to an electromechanical device 104, a goniometer 106, a wristband 108, and/or pedals 110 of the electromechanical device 104. Each of the computing device 102, the electromechanical device 104, the goniometer 106, the wristband 108, and the pedals 110 may include one or more processing devices, memory devices, and network interface cards. The network interface cards may enable communication via a wireless protocol for transmitting data over short distances, such as Bluetooth, ZigBee, NFC, etc. In some embodiments, the computing device 102 is communicatively coupled via Bluetooth to the electromechanical device 104, goniometer 106, the wristband 108, and/or the pedals 110.

Additionally, the network interface cards may enable communicating data over long distances, and in one example, the computing device 102 may communicate with a network 112. Network 112 may be a public network (e.g., connected to the Internet via wired means (Ethernet) or wireless means (WiFi)), a private network (e.g., a local area network (LAN) or wide area network (WAN)), or a combination thereof. The computing device 102 may be communicatively coupled with a computing device 114 and a cloud-based computing system 116.

The computing device 102 may be any suitable computing device, such as a laptop, tablet, smartphone, computer or Internet of Things (IoT) sensor or device. (Other computing devices referenced herein may also be Internet of Things (IoT) sensors or devices.) The computing device 102 may include a display that is capable of presenting a user interface, such as a user portal 118. The user portal 118 may be implemented in computer instructions stored on the one or more memory devices of the computing device 102 and executable by the one or more processing devices of the computing device 102. The user portal 118 may present to a user various screens that enable the user to view a treatment plan, initiate a pedaling session for the purpose of executing the treatment plan, control parameters of the electromechanical device 104, view progress of rehabilitation during the pedaling session, and so forth as described in more detail below. The computing device 102 may also include instructions stored on the one or more memory devices that, when executed by the one or more processing devices of the computing device 102, perform operations to control the electromechanical device 104.

The computing device 114 may execute a clinical portal 126. The clinical portal 126 may be implemented in computer instructions stored on the one or more memory devices of the computing device 114 and executable by the one or more processing devices of the computing device 114. The clinical portal 126 may present to a physician or a clinician various screens that enable the physician to create a treatment plan for a patient or user, view progress of the user throughout the treatment plan, view measured properties (e.g., angles of bend/extension, force exerted on the pedals 110, heart rate, steps taken, images of the affected body part) of the user during sessions of the treatment plan, and/or view properties (e.g., modes completed, revolutions per minute, etc.) of the electromechanical device 104 during sessions of the treatment plan. So the patient may begin the treatment plan, the treatment plan specific to a patient may be transmitted via the network 112 to the cloud-based computing system 116 for storage and/or to the computing device 102. The terms “patient” and “user” may be used interchangeably throughout this disclosure.

The electromechanical device 104 may be an adjustable pedaling device for exercising and rehabilitating arms and/or legs of a user. The electromechanical device 104 may include at least one or more motor controllers 120, one or more electric motors 122, and one or more radially-adjustable couplings 124. Two pedals 110 may be coupled to two radially-adjustable couplings 124 via left and right pedal assemblies that each include respective stepper motors. The motor controller 120 may be operatively coupled to the electric motor 122 and configured to provide commands to the electric motor 122 to control operation of the electric motor 122. The motor controller 120 may include any suitable microcontroller including a circuit board having one or more processing devices, one or more memory devices (e.g., read-only memory (ROM) and/or random access memory (RAM)), one or more network interface cards, and/or programmable input/output peripherals. The motor controller 120 may provide control signals or commands to drive the electric motor 122. The electric motor 122 may be powered to drive one or more radially-adjustable couplings 124 of the electromechanical device 104 in a rotational manner. The electric motor 122 may provide the driving force to rotate the radially-adjustable couplings 124 at configurable speeds. The couplings 124 are radially-adjustable in that a pedal 110 attached to the coupling 124 may be adjusted to a number of positions on the coupling 124 in a radial fashion. Further, the electromechanical device 104 may include a current shunt to provide resistance to dissipate energy from the electric motor 122. As such, the electric motor 122 may be configured to provide resistance to rotation of the radially-adjustable couplings 124.

The computing device 102 may be communicatively connected to the electromechanical device 104 via the network interface card on the motor controller 120. The computing device 102 may transmit commands to the motor controller 120 to control the electric motor 122. The network interface card of the motor controller 120 may receive the commands and transmit the commands to the electric motor 122 to drive the electric motor 122. In this way, the computing device 102 is operatively coupled to the electric motor 122.

The computing device 102 and/or the motor controller 120 may be referred to as a control system herein. The user portal 118 may be referred to as a user interface of the control system herein. The control system may control the electric motor 122 to operate in a number of modes: passive, active-assisted, resistive, and active. The passive mode may refer to the electric motor 122 independently driving the one or more radially-adjustable couplings 124 rotationally coupled to the one or more pedals 110. In the passive mode, the electric motor 122 may be the only source of driving force on the radially-adjustable couplings. That is, the user may engage the pedals 110 with their hands or their feet and the electric motor 122 may rotate the radially-adjustable couplings 124 for the user. This may enable moving the affected body part and stretching the affected body part without the user exerting excessive force.

The active-assisted mode may refer to the electric motor 122 receiving measurements of revolutions per time period, such as a revolutions per minute, second, or any other desired time interval, of the one or more radially-adjustable couplings 124, and, when the measured revolutions per time period satisfy a threshold condition, causing the electric motor 122 to drive the one or more radially-adjustable couplings 124 rotationally coupled to the one or more pedals 110. The threshold condition may be configurable by the user and/or the physician. As long as the revolutions per time period are above a revolutions per time period threshold (e.g., revolutions threshold 1732) and the threshold condition is not satisfied, the electric motor 122 may be powered off while the user provides the driving force to the radially-adjustable couplings 124. When the revolutions per time period are less than the revolutions per minute threshold, then the threshold condition is satisfied and the electric motor 122 may be controlled to drive the radially-adjustable couplings 124 to maintain the revolutions per time period threshold.

The resistive mode may refer to the electric motor 122 providing resistance to rotation of the one or more radially-adjustable couplings 124 coupled to the one or more pedals 110. The resistive mode may increase the strength of the body part being rehabilitated by causing the muscle to exert force to move the pedals 110 against the resistance provided by the electric motor 122.

The active mode may refer to the electric motor 122 powering off to provide no driving force assistance to the radially-adjustable couplings 124. Instead, in this mode, the user, using their hands or feet, for example, provides the sole driving force of the radially-adjustable couplings.

During one or more of the modes, each of the pedals 110 may measure force exerted by a part of the body of the user on the pedal 110. For example, the pedals 110 may each contain any suitable sensor (e.g., strain gauge load cell, piezoelectric crystal, hydraulic load cell, etc.) for measuring force exerted on the pedal 110. Further, the pedals 110 may each contain any suitable sensor for detecting whether the body part of the user separates from contact with the pedals 110. In some embodiments, the measured force may be used to detect whether the body part has separated from the pedals 110. The force detected may be transmitted via the network interface card of the pedal 110 to the control system (e.g., computing device 102 and/or motor controller 120). As described further below, the control system may, based on the measured force, modify a parameter of operating the electric motor 122. Further, the control system may perform one or more preventative actions (e.g., locking the electric motor 122 to stop the radially-adjustable couplings 124 from moving, slowing down the electric motor 122, presenting a notification to the user, etc.) when the body part is detected as separated from the pedals 110, among other things.

The goniometer 106 may be configured to measure angles of extension and/or bend of body parts and to transmit the measured angles to the computing device 102 and/or the computing device 114. The goniometer 106 may be included in an electronic device that includes the one or more processing devices, memory devices, and/or network interface cards. The goniometer 106 may be attached to the user's body, for example, to an upper leg and a lower leg. The goniometer 106 may be coupled to the user via a strap, an adhesive, a mechanical brace, or any other desired attachment. The goniometer 106 may be disposed in a cavity of the mechanical brace. The cavity of the mechanical brace may be located near a center of the mechanical brace where the mechanical brace affords to bend and extend. The mechanical brace may be configured to secure to an upper body part (e.g., arm, etc.) and a lower body part (e.g., leg, etc.) to measure the angles of bend as the body parts are extended away from one another or retracted closer to one another.

The wristband 108 may include a 3-axis accelerometer to track motion in the X, Y, and Z directions, an altimeter for measuring altitude, and/or a gyroscope to measure orientation and rotation. The accelerometer, altimeter, and/or gyroscope may be operatively coupled to a processing device in the wristband 108 and may transmit data to the processing device. The processing device may cause a network interface card to transmit the data to the computing device 102 and the computing device 102 may use the data representing acceleration, frequency, duration, intensity, and patterns of movement to track steps taken by the user over certain time periods (e.g., days, weeks, etc.). The computing device 102 may transmit the steps to the computing device 114 executing a clinical portal 126. Additionally, in some embodiments, the processing device of the wristband 108 may determine the steps taken and transmit the steps to the computing device 102. In some embodiments, the wristband 108 may use photoplethysmography (PPG) to measure heartrate that detects an amount of red light or green light on the skin of the wrist. For example, blood may absorb green light so when the heart beats, the blood flow may absorb more green light, thereby enabling the detection of heartrate. The heartrate may be sent to the computing device 102 and/or the computing device 114.

The computing device 102 may present the steps taken by the user and/or the heartrate via respective graphical elements on the user portal 118, as discussed further below. The computing device may also use the steps taken and/or the heart rate to control a parameter of operating the electromechanical device 104. For example, if the heartrate exceeds a target heartrate for a pedaling session, the computing device 102 may control the electric motor 122 to reduce resistance being applied to rotation of the radially-adjustable couplings 124. In another example, if the steps taken are below a step threshold for a day, the treatment plan may increase the amount of time for one or more modes in which the user is to operate the electromechanical device 104 to ensure the affected body part is getting sufficient movement by reaching or exceeding the step threshold.

In some embodiments, the cloud-based computing system 116 may include one or more servers 128 that form a distributed computing architecture. Each of the servers 128 may include one or more processing devices, memory devices, data storage, and/or network interface cards. The servers 128 may be in communication with one another via any suitable communication protocol. The servers 128 may store profiles for each of the users that use the electromechanical device 104. The profiles may include information about the users, such as respective treatment plans, the affected body parts, any procedures the users had performed on the affected body parts, health, age, race, measured data from the goniometer 106, measured data from the wristband 108, measured data from the pedals 110, user input received at the user portal 118 during operation of any of the modes of the treatment plan, a specification of a level of discomfort, comfort, or general patient satisfaction that the user experiences before and after any of the modes, before and after session images of the affected body part, and so forth.

In some embodiments, the cloud-based computing system 116 may include a training engine 130 capable of generating one or more machine learning models 132. The machine learning models 132 may be trained to generate treatment plans for the patients in response to receiving various inputs (e.g., a procedure performed on the patient, an affected body part on which the procedure was performed, other health characteristics or demographic attributes (e.g., age, race, fitness level, etc.)). The one or more machine learning models 132 may be generated by the training engine 130 and may be implemented in computer instructions executable by one or more processing devices of the training engine 130 and/or the servers 128. To generate the one or more machine learning models 132, the training engine 130 may train the one or more machine learning models 132. The training engine 130 may use a base data set of patient characteristics, treatment plans followed by the patient, and results of the treatment plans followed by the patients. The results may include information indicating whether a given treatment plan led to full recovery of the affected body part, partial recovery of the affected body part, or lack of recovery of the affected body part, and the degree to which such recovery was achieved. The training engine 130 may be a rackmount server, a router computer, a personal computer, a portable digital assistant, a smartphone, a laptop computer, a tablet computer, a camera, a video camera, a netbook, a desktop computer, a media center, an IoT device, or any combination of the above. The one or more machine learning models 132 may refer to model artifacts that are created by the training engine 130 using training data that includes training inputs and corresponding target outputs. The training engine 130 may find patterns in the training data that map the training input to the target output, and generate the machine learning models 132 that capture these patterns. Although depicted separately from the computing device 102, in some embodiments, the training engine 130 and/or the machine learning models 132 may reside on the computing device 102 and/or the computing device 114.

The machine learning models 132 may include one or more of a neural network, such as an image classifier, recurrent neural network, convolutional network, generative adversarial network, a fully connected neural network, or some combination thereof, for example. In some embodiments, the machine learning models 132 may be composed of a single level of linear or non-linear operations or may include multiple levels of non-linear operations. For example, the machine learning model 132 may include numerous layers and/or hidden layers that perform calculations (e.g., dot products) using various neurons. The rehabilitation system architecture 100 can include additional and/or fewer components and is not limited to those illustrated in FIG. 1.

FIG. 2 illustrates a perspective view of an example of an exercise and rehabilitation device, such as the electromechanical device 104, according to certain embodiments of this disclosure. The electromechanical device 104 is shown having pedals 110 on opposite sides and which are adjustably positionable relative to one another on respective radially-adjustable couplings 124. The electromechanical device 104 is configured as a small and portable unit so that it is easily transported to different locations at which rehabilitation or treatment is to be provided, such as at patients' homes, alternative care facilities, or the like. The patient may sit in a chair proximate the electromechanical device 104 to engage the electromechanical device 104 with their feet, for example.

The electromechanical device 104 includes a rotary device such as radially-adjustable couplings 124 or a flywheel or flywheels or the like rotatably mounted such as by a central hub to a frame 200 or other support. The pedals 110 are configured for interacting with a patient to be rehabilitated and may be configured for use with lower body extremities such as the feet, legs, and the like, or with upper body extremities, such as the hands, arms, and the like. For example, the pedal 110 may be a bicycle pedal of the type having a foot support rotatably mounted onto an axle with bearings. To locate the pedal on the radially-adjustable coupling 12. the axle may or may not have exposed end threads for engaging a mount on the radially-adjustable coupling 124. The radially-adjustable coupling 124 may include an actuator configured to radially adjust the location of the pedal to various positions on the radially-adjustable coupling 124.

Alternatively, the radially-adjustable coupling 124 may be configured to have both pedals 110 on opposite sides of a single coupling 124. In some embodiments, as depicted, a pair of radially-adjustable couplings 124 may be spaced apart from one another but interconnected to the electric motor 122. In the depicted example, the computing device 102 may be mounted on the frame 200 and may be detachable and held by the user while the user operates the electromechanical device 104. The computing device 102 may present the user portal and control the operation of the electric motor 122, as described herein.

In some embodiments, as described in U.S. Pat. No. 10,173,094 (U.S. application Ser. No. 15/700,293), which is incorporated by reference herein in its entirety for all purposes, the electromechanical device 104 may take the form of a traditional exercise/rehabilitation device which is more or less non-portable and remains in a fixed location, such as a rehabilitation clinic or medical practice. This embodiment of the electromechanical device 104 may include a seat and is less portable than the electromechanical device 104 shown in FIG. 2.

FIG. 3 illustrates example operations of a method 300 for controlling an electromechanical device for rehabilitation in various modes according to certain embodiments of this disclosure. The method 300 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), firmware, software, or a combination of them. The method 300 and/or each of their individual functions, subroutines, or operations may be performed by one or more processors of a control system (e.g., computing device 102 of FIG. 1) implementing the method 300. The method 300 may be implemented as computer instructions that, when executed by a processing device, execute the user portal 118. In certain implementations, the method 300 may be performed by a single processing thread. Alternatively, the method 300 may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, or operations of the methods. Various operations of the method 300 may be performed by one or more of the cloud-based computing system 116, the motor controller 120, the pedals 110, the goniometer 106, the wristband 108, and/or the computing device 114 of FIG. 1.

As discussed above, an electromechanical device may include one or more pedals coupled to one or more radially-adjustable couplings, an electric motor coupled to the one or more pedals via the one or more radially-adjustable couplings, and the control system including one or more processing devices operatively coupled to the electric motor. In some embodiments, the control system (e.g., computing device 102 and/or motor controller 120) may store instructions and one or more operations of the control system may be presented via the user portal. In some embodiments, the radially-adjustable couplings are configured for translating rotational motion of the electric motor to radial motion of the pedals.

At block 302, responsive to a first trigger condition occurring, the processing device may control the electric motor to operate in a passive mode by independently driving the one or more radially-adjustable couplings rotationally coupled to the one or more pedals. “Independently drive” may refer to the electric motor driving the one or more radially-adjustable couplings without the aid of another driving source (e.g., the user). The first trigger condition may include an initiation of a pedaling session via the user interface of the control system, a period of time elapsing, a detected physical condition (e.g., heartrate, oxygen level, blood pressure, etc.) of a user operating the electromechanical device, a request received from the user via the user interface, or a request received via a computing device communicatively coupled to the control system (e.g., a request received from the computing device executing the clinical portal). While operating in the passive mode, the processing device may control the electric motor to independently drive the one or more radially-adjustable couplings rotationally coupled to the one or more pedals at a controlled speed specified in a treatment plan for a user operating the electromechanical device.

In some embodiments, the electromechanical device may be configured such that the processor controls the electric motor to individually drive the radially-adjustable couplings. For example, the processing device may control the electric motor to individually drive the left or right radially-adjustable coupling, while allowing the user to provide the force to drive the other radially-adjustable coupling. As another example, the processing device may control the electric motor to drive both the left and right radially-adjustable couplings but at different speeds. This granularity of control may be beneficial by controlling the speed at which a healing body part is moved (e.g., rotated, flexed, extended, etc.) to avoid tearing tendons or causing pain to the user.

At block 304, responsive to a second trigger condition occurring, the processing device may control the electric motor to operate in an active-assisted mode by measuring (block 306) revolutions per minute of the one or more radially-adjustable couplings, and causing (block 308) the electric motor to drive the one or more radially-adjustable couplings rotationally coupled to the one or more pedals when the measured revolutions per minute satisfy a threshold condition. The second trigger condition may include an initiation of a pedaling session via the user interface of the control system, a period of time elapsing, a detected physical condition (e.g., heartrate, oxygen level, blood pressure, etc.) of a user operating the electromechanical device, a request received from the user via the user interface, or a request received via a computing device communicatively coupled to the control system (e.g., a request received from the computing device executing the clinical portal). The threshold condition may be satisfied when the measured revolutions per minute are less than a minimum revolutions per minute. In such an instance, the electric motor may begin driving the one or more radially-adjustable couplings to increase the revolutions per minute of the radially-adjustable couplings.

As with the passive mode, in the active-assisted mode, the processing device may control the electric motor to individually drive the one or more radially-adjustable couplings. For example, if just a right knee is being rehabilitated, the revolutions per minute of the right radially-adjustable coupling may be measured and the processing device may control the electric motor to individually drive the right radially-adjustable coupling when the measured revolutions per minute are less than the minimum revolutions per minute. In some embodiments, there may be different minimum revolutions per minute set for the left radially-adjustable coupling and the right radially-adjustable coupling, and the processing device may control the electric motor to individually drive the left radially-adjustable coupling and the right radially-adjustable coupling as appropriate to maintain the different minimum revolutions per minute.

At block 310, responsive to a third trigger condition occurring, the processing device may control the electric motor to operate in a resistive mode by providing resistance to rotation of the one or more radially-adjustable couplings coupled to the one or more pedals. The third trigger condition may include an initiation of a pedaling session via the user interface of the control system, a period of time elapsing, a detected physical condition (e.g., heartrate, oxygen level, blood pressure, etc.) of a user operating the electromechanical device, a request received from the user via the user interface, or a request received via a computing device communicatively coupled to the control system (e.g., a request received from the computing device executing the clinical portal).

In some embodiments, responsive to a fourth trigger condition occurring, the processing device may be further configured to control the electric motor to operate in an active mode by powering off to enable another source (e.g., the user) to drive the one or more radially-adjustable couplings via the one or more pedals. In the active mode, the another source may drive the one or more radially-adjustable couplings at any desired speed via the one or more pedals.

In some embodiments, the processing device may control the electric motor to operate in each of the passive mode, the active-assisted mode, the resistive mode, and/or the active mode for a respective period of time during a pedaling session (e.g., based on a treatment plan for a user operating the electromechanical device). In some embodiments, the various modes and the respective periods of time may be selected by a clinician that sets up the treatment plan using the clinical portal. In some embodiments, the various modes and the respective periods of time may be selected by a machine learning model trained to receive parameters (e.g., procedure performed on the user, body part on which the procedure was performed, health of the user) and to output a treatment plan to rehabilitate the affected body part, as described above.

In some embodiments, the processing device may modify one or more positions of the one or more pedals on the one or more radially-adjustable couplings to change one or more diameters of ranges of motion of the one or more pedals during any of the passive mode, the active-assisted mode, the resistive mode, and/or the active mode throughout a pedaling session for a user operating the electromechanical device. The processing device may further be configured to modify the position of one of the one or more pedals on one of the one or more radially-adjustable couplings to change the diameter of the range of motion of the one of the one or more pedals while maintaining another position of another of the one or more pedals on another of the one or more radially-adjustable couplings to maintain another diameter of another range of motion of another pedal. In some embodiments, the processing device may cause both positions of the pedals to move to change the diameter of the range of motion for both pedals. The amount of movement of the positions of the pedals may be individually controlled in order to provide different diameters of ranges of motions of the pedals as desired.

In some embodiments, the processing device may receive, from the goniometer worn by the user operating the electromechanical device, at least one of an (i) angle of extension of a joint of the user during a pedaling session or an (ii) angle of bend of the joint of the user during the pedaling session. In some instances, the joint may be a knee or an elbow. The goniometer may be configured to measure the angles of bend and/or extension of the joint and to continuously, continually, or periodically transmit the angle measurements received by the processing device. The processing device may modify the positions of the pedals on the radially-adjustable couplings to change the diameters of the ranges of motion of the pedals based on the at least one of the angle of extension of the joint of the user or the angle of bend of the joint of the user.

In some embodiments, the processing device may receive, from the goniometer worn by the user, a set of angles of extension between an upper leg and a lower leg at a knee of the user as the user extends the lower leg away from the upper leg via the knee. In some embodiments, the goniometer may send the set of angles of extension between an upper arm, upper body, etc. and a lower arm, lower body, etc. The processing device may present, on a user interface of the control system, a graphical animation of the upper leg, the lower leg, and the knee of the user as the lower leg is extended away from the upper leg via the knee. The graphical animation may include the set of angles of extension as the set of angles of extension changes during the extension. The processing device may store, in a data storage of the control system, a lowest value of the set of angles of extension as an extension statistic for an extension session. A set of extension statistics may be stored for a set of extension sessions specified by the treatment plan. The processing device may present progress of the set of extension sessions throughout the treatment plan via a graphical element (e.g., line graph, bar chart, etc.) on the user interface presenting the set of extension statistics.

In some embodiments, the processing device may receive, from the goniometer worn by the user, a set of angles of bend or flex between an upper leg and a lower leg at a knee of the user as the user retracts the lower leg closer to the upper leg via the knee. In some embodiments, the goniometer may send the set of angles of bend between an upper arm, upper body, etc. and a lower arm, lower body, etc. The processing device may present, on a user interface of the control system, a graphical animation of the upper leg, the lower leg, and the knee of the user as the lower leg is retracted closer to the upper leg via the knee. The graphical animation may include the set of angles of bend as the set of angles of bend changes during the bending. The processing device may store, in a data storage of the control system, a highest value of the set of angles of bend as a bend statistic for a bend session. A set of bend statistics may be stored for a set of bend sessions specified by the treatment plan. The processing device may present progress of the set of bend sessions throughout the treatment plan via a graphical element (e.g., line graph, bar chart, etc.) on the user interface presenting the set of bend statistics.

In some embodiments, the angles of extension and/or bend of the joint may be transmitted by the goniometer to a computing device executing a clinical portal. A clinician may operate the computing device executing the clinical portal. The clinical portal may present a graphical animation in real-time of the upper leg extending away from the lower leg and/or the upper leg bending closer to the lower leg during a pedaling session, extension session, and/or a bend session of the user. In some embodiments, the clinician may provide notifications to the computing device to present via the user portal. The notifications may indicate that the user has satisfied a target extension and/or bend angle. Other notifications may indicate that the user has extended or retracted a body part too far and should cease the extension and/or bend session. In some embodiments, the computing device executing the clinical portal may transmit a control signal to the control system to move a position of a pedal on the radially-adjustable coupling based on the angle of extension or angle of bend received from the goniometer. That is, the clinician can in real-time increase a diameter of range of motion for a body part of the user based on the measured angles of extension and/or bend during a pedaling session. This may enable the clinician to dynamically control the pedaling session to enhance the rehabilitation results of the pedaling session.

In some embodiments, the processing device may receive, from a wearable device (e.g., a wristband), a number of steps taken by a user over a certain time period (e.g., a day, a week, etc.). The processing device may calculate whether the number of steps satisfies a step threshold of a walking session of a treatment plan for the user. The processing device may be configured to present on a user interface of the control system the number of steps taken by the user and may be configured to present an indication of whether the number of steps satisfies the step threshold.

The wearable device, which is interchangeably described herein as a wristband, though a person having ordinary skill in the art will readily comprehend in light of having read the present disclosure that other varieties of wearable devices may also be used without departing from the scope and intent of the present disclosure, may also measure one or more vital statistics of the user, such as a heartrate, oxygen level, blood pressure, and the like. The measurements of the vital statistics may be performed at any suitable time, such as during a pedaling session, walking session, extension session, bend session, and/or any other desired session. The wristband may transmit the one or more vital statistics to the control system. The processing device of the control system may use the vital statistics to determine whether to reduce resistance the electric motor is providing for the purpose of lowering one of the vital statistics (e.g., heartrate) when that vital statistic is above a threshold, to determine whether the user is in pain when one of the vital statistics is elevated beyond a threshold, to determine whether to provide a notification indicating the user should take a break or increase the intensity of the appropriate session, and so forth.

In some embodiments, the processing device may receive a request to stop the one or more pedals from moving. The request may be received by a user selecting on the user portal of the control system a graphical icon representing “stop.” The processing device may cause the electric motor to lock and stop the one or more pedals from moving over a configured period of time (e.g., instantly, over 1 second, 2 seconds, 3 seconds, 5 seconds, 10 seconds, or any period of time less than those, more than those or in between those, etc.). One benefit of including an electric motor in the electromechanical device is that the motor can be configured to provide the ability to stop the movement of the pedals as soon as a user desires.

In some embodiments, the processing device may receive, from one or more force sensors operatively coupled to the one or more pedals and the one or more processing devices, one or more measurements of force on the one or more pedals. The force sensors may be operatively coupled to the one or more processing devices via a wireless connection (e.g., Bluetooth) enabled by wireless circuitry in the pedals. The processing device may determine, based on the one or more measurements of force, whether the user has fallen from the electromechanical device. Responsive to determining that the user has fallen from the electromechanical device, the processing device may lock the electric motor to stop the one or more pedals from moving.

Additionally or alternatively, the processing device may determine, based on the one or more measurements of force that the user's feet or hands have separated from the pedals. Responsive to determining that the feet or hands have separated from the pedals, the processing device may lock the electric motor to stop the one or more pedals from moving. Also, the processing device may present a notification on a user interface of the control system, such notification instructing the user to place their feet or hands in contact with the pedals.

In some embodiments, the processing device may receive, from the force sensors operatively coupled to the one or more pedals, the measurements of force exerted by a user on the pedals during a pedaling session. While the user pedals during the pedaling session, the processing device may present the respective measurements of force on each of the pedals on a separate respective graphical scale on the user interface of the control system. Various graphical indicators may be presented on the user interface to indicate when the force is below a threshold target range, is within the threshold target range, and/or exceeds the threshold target range. Notifications may be presented to encourage the user to apply more force and/or less force to achieve the threshold target range of force. For example, the processing device may be configured to present a first notification on the user interface after the one or more measurements of force satisfy a pressure threshold and to present a second notification on the user interface after the one or more measurements do not satisfy the pressure threshold.

In addition, the processing device may provide an indicator to the user based on the one or more measurements of force. The indicator may include at least one of (1) providing haptic feedback in the pedals, handles, and/or seat of the electromechanical device, (2) providing visual feedback on the user interface (e.g., an alert, a light, a sign, etc.), (3) providing audio feedback via an audio subsystem (e.g., speaker) of the electromechanical device, or (4) illuminating a warning light of the electromechanical device.

In some embodiments, the processing device may receive, from an accelerometer of the control system, motor controller, pedal, or the like, a measurement of acceleration of movement of the electromechanical device. The processing device may determine whether the electromechanical device has moved excessively relative to a vertical axis (e.g., fallen over) based on the measurement of acceleration. Responsive to determining that the electromechanical device has moved excessively relative to the vertical axis based on the measurement of acceleration, the processing device may lock the electric motor to stop the one or more pedals from moving.

After a pedaling session is complete, the processing device may lock the electric motor to prevent the one or more pedals from moving a certain amount of time after the completion of the pedaling session. This may enable healing of the body part being rehabilitated and prevent strain on that body part by excessive movement. Upon expiration of the certain amount of time, the processing device may unlock the electric motor to enable movement of the pedals again.

The computing device can include a user portal. The user portal may provide an option to image the body part being rehabilitated. The user portal may include a display and a camera. For example, the user may place the body part within an image capture section, such as a camera, of the user portal and select an icon to capture an image of the body part. An icon, such as a camera icon, may be located on a display of the user portal. The user may select the camera icon to use the camera to capture an image or to take a photograph of a site of the body of the user. The site may be a body part such as a leg, arm, joint, such as a knee or an elbow, or any other desired site of the body of the user. The processing device can execute the instructions to store the image or photograph. The processing device may execute the instructions to transmit the image or photograph to a clinical portal. The images may be captured before and after a pedaling session, walking session, extension session, and/or bend session. These images may be sent to the cloud-based computing system to use as training data to enable the machine-learning model to determine the effects of the session. Further, the images may be sent to the computing device executing the clinical portal to enable the clinician to view the results of the sessions and modify the treatment plan if desired and/or provide notifications (e.g., reduce resistance, increase resistance, extend the joint further or less, etc.) to the user if desired.

FIG. 4 illustrates example operations of a method 400 for controlling an amount of resistance provided by an electromechanical device according to certain embodiments of this disclosure. Method 400 includes operations performed by processing devices of the control system (e.g., computing device 102) of FIG. 1. In some embodiments, one or more operations of the method 400 are implemented in computer instructions that, when executed by a processing device, execute the control system and/or the user portal. Various operations of the method 400 may be performed by one or more of the computing device 114, the cloud-based computing system 116, the motor controller 120, the pedal 110, the goniometer 106, and/or the wristband 108. The method 400 may be performed in the same or a similar manner as described above in regards to method 300.

At block 402, the processing device may receive configuration information for a pedaling session. The configuration information may be received via selection by the user on the user portal executing on the computing device, received from the computing device executing the clinical portal, downloaded from the cloud-based computing system, retrieved from a memory device of the computing device executing the user portal, or some combination thereof. For example, the clinician may select the configuration information for a pedaling session of a patient using the clinical portal and upload the configuration information from the computing device to a server of the cloud-based computing system.

The configuration information for the pedaling session may specify one or more modes in which the electromechanical device is to operate, and configuration information specific to each of the modes, an amount of time to operate each mode, and the like. For example, for a passive mode, the configuration information may specify a position for the pedal to be in on the radially-adjustable couplings and a speed at which to control the electric motor. For the resistive mode, the configuration information may specify an amount of resistive force the electric motor is to apply to rotate radially-adjustable couplings during the pedaling session, a maximum pedal force that is desired for the user to exert on each pedal of the electromechanical device during the pedaling session, and/or a revolutions per minute threshold for the radially-adjustable couplings. For the active-assisted mode, the configuration information may specify a minimum pedal force and a maximum pedal force desired for the user to exert on each pedal of the electromechanical device, a speed at which to operate the electric motor for driving one or both of the radially-adjustable couplings, and so forth.

In some embodiments, responsive to receiving the configuration information, the processing device may determine that a trigger condition has occurred. The trigger condition may include receiving a selection of a mode from a user, an amount of time elapsing, receiving a command from the computing device executing the clinical portal, or the like. The processing device may control, based on the trigger condition occurring, the electric motor to operate in a resistive mode by providing, based on the trigger condition, a resistance to rotation of the pedals.

At block 404, the processing device may set a resistance parameter and a maximum pedal force parameter based on the amount of resistive force and the maximum pedal force, respectively, included in the configuration information for the pedaling session. The resistance parameter and the maximum force parameter may be stored in a memory device of the computing device and used to control the electric motor during the pedaling session. For example, the processing device may transmit a control signal along with the resistance parameter and/or the maximum pedal force parameter to the motor controller, and the motor controller may drive the electric motor using at least the resistance parameter during the pedaling session.

At block 406, the processing device may measure force applied to pedals of the electromechanical device as a user operates (e.g., pedals) the electromechanical device. The electric motor of the electromechanical device may provide resistance during the pedaling session based on the resistance parameter. A force sensor disposed in each pedal and operatively coupled to the motor controller and/or the computing device executing the user portal may measure the force exerted on each pedal throughout the pedaling session. The force sensors may transmit the measured force to a processing device of the pedals, which in turn may cause a communication device to transmit the measured force to the processing device of the motor controller and/or the computing device.

At block 408, the processing device may determine whether the measured force exceeds the maximum pedal force parameter. To make this determination, the processing device may compare the measured force to the maximum pedal force parameter.

At block 410, responsive to determining that the measured force exceeds the maximum pedal force parameter, the processing device may reduce the resistance parameter to maintain the revolutions per minute threshold specified in the configuration information so the electric motor applies less resistance during the pedaling session. Reducing the resistance may enable the user to pedal faster, thereby increasing the revolutions per minute of the radially-adjustable couplings. Maintaining the revolutions per minute threshold may ensure that the patient is exercising the affected body part as rigorously as desired during the mode. Responsive to determining that the measured force does not exceed the maximum pedal force parameter, the processing device may, during the pedaling session, maintain the same maximum pedal force parameter specified by the configuration information.

In some embodiments, the processing device may determine that a second trigger condition has occurred. The second trigger condition may include receiving a selection of a mode from a user via the user portal, an amount of time elapsing, receiving a command from the computing device executing the clinical portal, or the like. The processing device may control, based on the trigger condition occurring, the electric motor to operate in a passive mode by independently driving one or more radially-adjustable couplings coupled to the pedals in a rotational fashion. The electric motor may drive the one or more radially-adjustable couplings at a speed specified in the configuration information without another driving source. Also, the electric motor may drive each of the one or more radially-adjustable couplings individually at different speeds.

In some embodiments, the processing device may determine that a third trigger condition has occurred. The third trigger condition may be similar to the other trigger conditions described herein. The processing device may control, based on the third trigger condition occurring, the electric motor to operate in an active-assisted mode by measuring revolutions per minute of the one or more radially-adjustable couplings coupled to the pedals and, when the measured revolutions per minute satisfy a threshold condition, causing the electric motor to drive, in a rotational fashion, the one or more radially-adjustable couplings coupled to the pedals.

In some embodiments, the processing device may receive, from a goniometer worn by the user operating the electromechanical device, a set of angles of extension between an upper leg and a lower leg at a knee of the user. The set of angles is measured as the user extends the lower leg away from the upper leg via the knee. In some embodiments, the angles of extension may represent angles between extending a lower arm away from an upper arm at an elbow. Further, the processing device may receive, from the goniometer, a set of angles of bend between the upper leg and the lower leg at the knee of the user. The set of angles of bend is measured as the user retracts the lower leg closer to the upper leg via the knee. In some embodiments, the angles of bend represent angles between bending a lower arm closer to an upper arm at an elbow.

The processing device may determine whether a range of motion threshold condition is satisfied based on the set of angles of extension and the set of angles of bend. Responsive to determining that the range of motion threshold condition is satisfied, the processing device may modify a position of one of the pedals on one of the radially-adjustable couplings to change a diameter of a range of motion of the one of the pedals. Satisfying the range of motion threshold condition may indicate that the affected body part is strong enough or flexible enough to increase the range of motion allowed by the radially-adjustable couplings.

FIG. 5 illustrates example operations of a method 500 that uses a goniometer according to certain embodiments of this disclosure for measuring angles of bend and/or extension of a lower leg relative to an upper leg. In some embodiments, one or more operations of the method 500 are implemented in computer instructions executed by the processing devices of the goniometer 106 of FIG. 1. The method 500 may be performed in the same or a similar manner as described above in regards to method 300.

At block 502, the processing device may receive a set of angles from the one or more goniometers. The goniometer may measure angles of extension and/or bend between an upper body part (leg, arm, torso, neck, head, etc.) and a lower body part (leg, arm, torso, neck head, hand, feet, etc.) as the body parts are extended and/or bent during various sessions (e.g., pedaling session, walking session, extension session, bend session, etc.). The set of angles may be received while the user is pedaling one or more pedals of the electromechanical device.

At block 504, the processing device may transmit the set of angles to a computing device controlling the electromechanical device, via one or more network interface cards. The electromechanical device may be operated by a user rehabilitating an affected body part. For example, the user may have recently had surgery to repair a tear of an anterior cruciate ligament (ACL). Accordingly, the goniometer may be secured proximate to the knee by the affected ACL around the upper and lower leg.

In some embodiments, transmitting the set of angles to the computing device controlling the electromechanical device may cause the computing device, based on the set of angles satisfying a range of motion threshold condition to adjust a position of one of one or more pedals on a radially-adjustable coupling. The range of motion threshold condition may be set based on configuration information for a treatment plan received from the cloud-based computing system or the computing device executing the clinical portal. The position of the pedal is adjusted to increase a diameter of a range of motion transited by an upper body part (e.g., an upper leg), lower body part (e.g., a lower leg), and a joint (e.g., knee) of the user as the user operates the electromechanical device. In some embodiments, the position of the pedal may be adjusted in real-time while the user is operating the electromechanical device. In some embodiments, the user portal may present a notification to the user indicating that the position of the pedal should be modified, and the user may modify the position of the pedal and resume operating the electromechanical device with the modified pedal position.

In some embodiments, transmitting the set of angles to the computing device may cause the computing device executing the user portal to present the set of angles in a graphical animation of the lower body part and the upper body part moving in real-time during the extension or the bend. In some embodiments, the set of angles may be transmitted to the computing device executing the clinical portal, and the clinical portal may present the set of angles in a graphical animation of the lower body part and the upper body part moving in real-time during the extension or the bend. In addition, the set of angles may be presented in one or more graphs or charts on the clinical portal and/or the user portal to depict progress of the extension or bend for the user.

FIGS. 6-12 illustrate various detailed views of components of the rehabilitation system disclosed herein. The rehabilitation system can include additional and/or fewer components and is not limited to those illustrated in FIGS. 6-12.

For example, FIG. 6 illustrates an exploded view of components of the exercise and rehabilitation electromechanical device 104 according to certain embodiments of this disclosure. The electromechanical device 104 may include a pedal 110 that couples to a left radially-adjustable coupling 124 via a left pedal arm assembly 600 disposed within a cavity of the left radially-adjustable coupling 124. The radially-adjustable coupling 124 may be disposed in a circular opening of a left outer cover 601 and the pedal arm assembly 600 may be secured to a drive sub-assembly 602. The drive sub-assembly 602 may include the electric motor 122 operatively coupled to the motor controller 120. The drive sub-assembly 602 may include one or more braking mechanisms, such as disc brakes, that enable instantaneously locking of the electric motor 122 or stopping of the electric motor 122 over a period of time. The electric motor 122 may be any suitable electric motor (e.g., a crystallite electric motor). The drive sub-assembly 602 may be secured to a frame sub-assembly 604. A top support sub-assembly 606 may be secured on top of the drive sub-assembly 602.

A right pedal 110 couples to a right radially-adjustable coupling 124 via a right pedal arm assembly 600 disposed within a cavity of the right radially-adjustable coupling 124. The right radially-adjustable coupling 124 may be disposed in a circular opening of a right outer cover 608 and the right pedal arm assembly 600 may be secured to the drive sub-assembly 602. An internal volume may be defined when the left outer cover 601 and the right outer cover 608 are secured together around the frame sub-assembly 604. The left outer cover 601 and the right outer cover 608 may also make up the frame of the electromechanical device 104 when secured together. The drive sub-assembly 602, top support sub-assembly 606, and pedal arm assemblies 600 may be disposed within the internal volume upon assembly. A storage compartment 610 may be secured to the frame.

Further, a computing device arm assembly 612 may be secured to the frame and a computing device mount assembly 614 may be secured to an end of the computing device arm assembly 612. The computing device 102 may be attached or detached from the computing device mount assembly 614 as desired during operation of the electromechanical device 104.

FIG. 7 illustrates an exploded view of a pedal arm assembly 600 according to certain embodiments of this disclosure. The pedal arm assembly 600 includes a stepper motor 700. The stepper motor 700 may be any suitable stepper motor. The stepper motor 700 may include multiple coils organized in groups referred to as phases. Each phase may be energized in sequence to rotate the motor one step at a time. The control system may use the stepper motor 700 to move the position of the pedal on the radially-adjustable coupling.

The stepper motor 700 includes a barrel and pin inserted through a hole in a motor mount 702. A shaft coupler 704 and a bearing 706 include through holes that receive an end of a first end lead screw 708. The lead screw 708 is disposed in a lower cavity of a pedal arm 712. The pin of the electric motor may be inserted in the through holes of the shaft coupler 704 and the bearing 706 to secure to the first end of the lead screw 708. The motor mount 702 may be secured to a frame of the pedal arm 712. Another bearing 706 may be disposed on another end of the lead screw 708. An electric slip ring 710 may be disposed on the pedal arm 712.

A linear rail 714 is disposed in and secured to an upper cavity of the pedal arm 712. The linear rail 714 may be used to move the pedal to different positions as described further below. A number of linear bearing blocks 716 are disposed onto a top rib and a bottom rib of the linear rail 714 such that the bearing blocks 716 can slide on the ribs. A spindle carriage 718 is secured to each of the bearing blocks 716. A support bearing 720 is used to provide support. The lead screw 708 may be inserted in through hole 722 of the spindle carriage 718. A spindle 724 may be secured at an end of the through hole 722 to house an end of the lead screw 708. A spindle 724 may be attached to a hole of the spindle carriage 718. When the pedal arm assembly 600 is assembled, the end of the spindle 724 may protrude through a hole of a pedal arm cover 726. When the stepper motor 700 turns on, the lead screw 708 can be rotated, thereby causing the spindle carriage 718 to move radially along the linear rail 714. As a result, the spindle 724 may radially traverse the opening of the pedal arm cover 726 as desired.

FIG. 8 illustrates an exploded view of a drive sub-assembly 602 according to certain embodiments of this disclosure. The drive sub-assembly 602 includes an electric motor 122. The electric motor 122 is partially disposed in a crank bracket housing 800. A side of the electric motor 122 includes a small molded pulley 802 secured to it via a small pulley plate 804 by screws 806. Also disposed within the crank bracket housing 800 is a timing belt 808 and a large molded pulley 810. The timing belt 808 may include teeth on an interior side that engage with teeth on the small molded pulley 802 and the large molded pulley 810 to cause the large molded pulley 810 to rotate when the electric motor 122 operates. The crank bracket housing 800 includes mounted bearing 812 on both sides through which crankshafts 814 of the large molded pulley 810 protrude. The crankshafts 814 may be operatively coupled to the pedal assemblies.

FIG. 9 illustrates an exploded view of a portion of a goniometer 106 according to certain embodiments of this disclosure. The goniometer 106 includes an upper section 900 and a lower section 902. The upper section 900 and the lower section 902 are rotatably coupled via a lower leg side brace 904. A bottom cap 906 may be inserted into a protruded cavity 918 of the lower leg side brace 904. In some embodiments, the bottom cap 906 includes a microcontroller 908. A thrust roller bearing 910 fits over the protruded cavity 918 of the lower leg side brace 904, which is inserted into a cavity 920 of the upper section 900 and secured to the upper section 900 via an attachment, such as a screw 922. Second cavity 924 is located is on a side of the upper section 900 opposite to the side having the cavity 920 with the inserted protruded cavity 918. A radial magnet 912 and a microcontroller (e.g., a printed control board) 914 are disposed in the second cavity 924 and a top cap 916 is placed on top to cover the second cavity 924. The microcontroller 908 and/or the microcontroller 914 may include a network interface card 940 or a radio configured to communicate via a short range wireless protocol (e.g., Bluetooth), a processing device 944, and a memory device 938. Further, either or both of the microcontrollers 908 and 914 may include a magnetic sensing encoder chip that senses the position of the radial magnet 912. The position of the radial magnet 912 may be used to determine an angle of bend or extension 2118, 2218 of the goniometer 106 by the processing device(s) of the microcontrollers 908 and/or 914. The angles of bend/extension 2118, 2218 may be transmitted via the radio to the computing device 102. The lower section 902 defines an opening 932 configured to receive a protruding tab 934 and a spring 930. The spring 930 may be disposed along the opening 932 between the protruding tab 934 and a side cap 926. The side cap 926 may be coupled to the protruding tab 934 through the opening 932. One or more attachments 928 may couple the side cap 926 to the protruding tab 934. The attachment 928 may be a screw, a magnet, or any other desired attachment. The spring 930 can be configured to apply pressure on the side cap 926 to provide limited movement of the side cap 926 relative to the opening 932. The spring 930 may allow for movement of the lower section 902 relative to the upper section 900. The electronic device 106 can include additional and/or fewer components, including in different locations and/or configurations, and is not limited to those illustrated in FIG. 9.

FIG. 10 illustrates a top view of a wristband 108 according to certain embodiments of this disclosure. The wristband 108 includes a strap with a clasp to secure the strap to a wrist of a person. The wristband 108 may include one or more processing devices, memory devices, network interface cards, and so forth. The wristband 108 may include a display 1000 configured to present information measured by the wristband 108. The wristband 108 may include an accelerometer, gyroscope, and/or an altimeter, as discussed above. The wristband 108 may also include a light sensor to detect a heartrate of the user wearing the wristband 108. In some embodiments, the wristband 108 may include a pulse oximeter to measure an amount of oxygen (oxygen saturation) in the blood by sending infrared light into capillaries and measuring how much light is reflected off the gases. The wristband 108 may transmit the measurement data to the computing device 102.

FIG. 11 illustrates an exploded view of a pedal 110 according to certain embodiments of this disclosure. The pedal 110 includes a molded pedal top 1100 disposed on top of a molded pedal top support plate 1102. The molded pedal top 1100 and the molded pedal top support plate 1102 are secured to a molded pedal base plate 1104 via screws, for example. The molded pedal base plate 1104 includes a strain gauge 1106 configured to measure force exerted on the pedal 110. The pedal 110 also includes a molded pedal bottom 1108 where a microcontroller 1110 is disposed. The microcontroller 1110 may include processing devices, memory devices, and/or a network interface card or radio configured to communicate via a short range communication protocol, such as Bluetooth. The strain gauge 1106 is operatively coupled to the microcontroller 1110 and the strain gauge 1106 transmits the measured force to the microcontroller 1110. The microcontroller 1110 transmits the measured force to the computing device 102 and/or the motor controller 120 of the electromechanical device 104. The molded pedal top 1100, the molded pedal top support plate 1102, and the molded pedal base plate 1104 are secured to the molded pedal bottom 1108, which is further secured to a molded pedal bottom cover 1112. The pedal 110 also includes a spindle 1114 that couples with the pedal arm assembly.

FIG. 12 illustrates additional views of the pedal 110 according to certain embodiments of this disclosure. A top view 1200 of the pedal 110 is depicted, a perspective view 1202 of the pedal 110 is depicted, a front view 1204 of the pedal 110 is depicted, and a side view 1206 of the pedal 110 is depicted.

FIGS. 13-29 illustrate different user interfaces of the user portal 118. A user may use the computing device 102, such as a tablet, to execute the user portal 118. In some embodiments, as they perform a pedaling session, the user may hold the tablet in their hands and view the user portal 118. Various user interfaces of the user portal 118 may provide prompts for the users to affirm that they are wearing the goniometer and the wristband, and that their feet are on the pedals.

FIG. 13 illustrates an example user interface 1300 of the user portal 118, the user interface 1300 presenting a treatment plan 1302 for a user according to certain embodiments of this disclosure. The treatment plan 1302 may be received from the computing device 114 executing the clinical portal 126 and/or downloaded from the cloud-based computing system 116. The physician may have generated the treatment plan 1302 using the clinical portal 126 or the trained machine learning model(s) 132 may have generated the treatment plan 1302 for the user. As depicted, the treatment plan 1302 presents the type of procedure (“right knee replacement”) that the patient underwent. Further, the treatment plan 1302 presents a pedaling session including a combination of the modes in which to operate the electromechanical device 104, as well as a respective set period of time for operating each of the modes. For example, the treatment plan 1302 indicates operating the electromechanical device 104 in a passive mode 1304 for 5 minutes, an active-assisted mode 1306 for 5 minutes, an active mode 1308 for 5 minutes, a resistive mode 1310 for 2 minutes, the active mode 1308 again for 3 minutes, and the passive mode 1304 for 2 minutes. The total duration of the pedaling session is 22 minutes and the treatment plan 1302 also specifies that the position of the pedal may be set according to a comfort level of the patient or user. The user interface 1300 also may display the number of sessions scheduled per day and how many sessions have been completed. Prior to the user beginning the pedaling session, the user interface 1300 may be displayed as an introductory user interface.

FIG. 14 illustrates an example user interface 1400 of the user portal 118, the user interface 1400 presenting pedal settings 1402 for a user according to certain embodiments of this disclosure. As depicted, graphical representation of feet are presented on the user interface 1400, as are two sliders including positions which correspond to portions of the feet. For example, a left slider 1404 includes positions L1, L2, L3, L4, and L5. A right slider includes positions R1, R2, R3, R4, and R5. A button 1404 may be slid up or down on the sliders to automatically adjust via the pedal arm assembly the pedal position on the radially-adjustable coupling. The pedal positions may be automatically populated according to the treatment plan but the user has the option to modify them based on comfort level. The changed positions may be stored locally on the computing device 102, sent to the computing device 114 executing the clinical portal 126, and/or sent to the cloud-based computing system 116.

FIG. 15 illustrates an example user interface 1500 of the user portal 118, the user interface 1500 presenting a scale 1502 for measuring discomfort of the user at a beginning of a pedaling session according to certain embodiments of this disclosure. The scale 1502 may provide options ranging from no discomfort (e.g., smiley face), to mild discomfort (e.g., moderate face), to high discomfort (e.g., sad face). This discomfort information may be stored locally on the computing device 102, sent to the computing device 114 executing the clinical portal 126, and/or sent to the cloud-based computing system 116. For example, the user interface 1500 may be configured to receive a user input 1504, such as a pain score, from the user. The user input 1504 (e.g., a first user input) may be provided at or near the beginning of the rehabilitation session, or at any other desired time.

FIG. 16 illustrates an example user interface 1600 of the user portal 118, the user interface is configured to present that the electromechanical device 104 is operating in a passive mode 1602 according to certain embodiments of this disclosure. The user interface 1600 is configured to present which pedaling session 1604 (session 1) is being performed and how many other pedaling sessions are scheduled for the day. The user interface 1600 also is configured to present an amount of time left in the pedaling session 1604 and an amount of time left in the current mode (passive mode). The full lineup of modes in the pedaling session 1604 is displayed in box 1606. While in the passive mode, the computing device controls the electric motor to independently drive the radially-adjustable couplings so the user does not have to exert any force on the pedals but such that their affected body part(s) and/or muscle(s) are enabled to be stretched and warmed up. At any time, if the user so desires, the user may select a stop button 1608, which may cause the electric motor to lock and stop the rotation of the radially-adjustable couplings instantaneously or over a set period of time. A descriptive box 1610 may provide instructions related to the current mode to the user.

FIGS. 17A-D illustrate an example user interface 1700 of the user portal 118, the user interface 1700 is configured to present that the electromechanical device 104 is operating in active-assisted mode 1702 and the user is applying various amounts of force to the pedals according to certain embodiments of this disclosure. Graphical representations 1704 of feet are configured to be presented on the user interface 1700 and the graphical representations may be configured to display the amount of force measured at the pedals. The force sensors (e.g., strain gauge) in the pedal may measure the forces exerted by the user and the microcontroller of the pedal may transmit the force measurements to the computing device 102. Notifications may be configured to be presented when the amount of force is outside of a force threshold 1730 (e.g., either below a range of force threshold 1730 or above the range of force threshold 1730). For example, in FIG. 17A, the right foot includes a notification to apply more force with the right foot because the current force measured at the pedal 110 is below the force threshold 1730.

A virtual tachometer 1706 is also presented that measures the revolutions per time period (e.g., per minute) of the radially-adjustable couplings and displays the current speed at which the user is pedaling. For example, the tachometer 1706 includes areas 1708 (between 0 and 10 revolutions per minute and between 20 and 30 revolutions per minute) that the user should avoid according to their treatment plan. In the depicted example, the treatment plan specifies that the user should maintain the speed at between 10 and 20 revolutions per minute. The electromechanical device 104 transmits the speed to the computing device 102 and the needle 1710 moves in real-time as the user operates the pedals. Notifications are presented near the tachometer 1706, wherein such notifications may indicate that the user should keep the speed above a certain revolutions threshold 1732 (e.g., 10 RPM). If the computing device 102 receives a speed from the electromechanical device 104 and the speed is below the revolutions threshold 1732, the computing device 102 may control the electric motor to drive the radially-adjustable couplings to maintain the revolutions threshold 1732. The computing device 102 may also be made capable of determining the state of the user in a particular exercise comprising the treatment plan, such that if the state is to maintain the revolutions per minute, the notification will be issued, but further, such that if the state is indicative of starting to exercise, ending an exercise, or transitioning between different parts of an exercise, and crossing an otherwise undesirable or forbidden threshold and/or range of revolutions per minute would, in these particular or otherwise similar indictive states, be neither undesirable nor forbidden, and the computing device 102 would, in those instances, not issue a notification. As will readily be appreciated by a person of ordinary skill of the art in light of having read the present disclosure, as used herein, actions described as being performed in real-time include actions performed in near-real-time without departing from the scope and intent of the present disclosure.

FIG. 17B depicts the example user interface 1700 presenting a graphic 1720 for the tachometer 1706 when the speed is below the revolutions threshold 1732. As depicted, a notification is presented that states “Too slow—speed up.” Also, when the pressure exerted at the pedal is below the range of force threshold 1730, the user interface 1700 presents an example graphical representation 1721 of the right foot. A notification may be presented that states, “Push more with your right foot.” FIG. 17C depicts, when the speed is within the desired target revolutions per minute, the example user interface 1700 presenting a graphic 1722 for the tachometer 1706. Also, the user interface 1700 presents, when the pressure exerted at the pedal is within the range of force threshold 1730, an example graphical representation 1724 of the right foot. FIG. 17D depicts, when the speed is above the desired target revolutions per minute, the example user interface 1700 presenting a graphic 1726 for the tachometer 1706. As depicted, a notification is presented that states “Too fast—slow down.” Also, the user interface 1700 presents, when the pressure exerted at the pedal is above the range of force threshold 1730, an example graphical representation 1728 of the right foot. A notification may be presented that states “Push less with your right foot.”

FIG. 18 illustrates an example user interface 1800 of the user portal 118, the user interface 1800 presenting a request 1804 to modify pedal position while the electromechanical device 104 is operating in active-assisted mode 1802 according to certain embodiments of this disclosure. The request 1804 may graphically pop up on a regular interval if specified in the treatment plan. If the user selects the “Adjust Pedals” button 1806, the user portal 118 may present a screen that allows the user to modify the position of the pedals.

FIG. 19 illustrates an example user interface 1900 of the user portal 118, the user interface 1900 presenting a scale 1902 for measuring discomfort of the user at an end of a pedaling session according to certain embodiments of this disclosure. The pain level may be obtained from the user in response to a solicitation, such as a question, presented upon the user interface 1900. The scale 1902 may provide choices, such as a pain level, ranging from no discomfort (e.g., smiley face), to mild discomfort (e.g., moderate face), to high discomfort (e.g., sad face); alternatively a non-illustrated version of the scale could be alphabetic (A-to-F), numeric (1-to-10), or in any other form enabling an indication of comfort to be made. As used herein, “discomfort” is simply an approximate opposite of “comfort,” and hence “no discomfort” corresponds approximately to “high comfort,” “mild discomfort” corresponds approximately to “mostly comfortable,” and “high discomfort” corresponds approximately to “very little comfort” or, in some cases, to “no comfort” or “an absence of comfort.” This discomfort information may be stored locally on the computing device 102, sent to the computing device 114 executing the clinical portal 126, and/or sent to the cloud-based computing system 116. For example, the user interface 1900 may be configured to receive a user input 1904, such as a pain score, from the user. The user input 1904 (e.g., a second user input) may be provided at or near the end of the rehabilitation session, or at any other desired time.

The user interface 1900 may also include treatment graphs. The treatment graphs can include information including an extension (angle), a flexion (angle), the pain score (scale), an ambulation (steps/day), a number of revolutions (i.e., revolutions performed on the of the electromechanical device 104), and any other desired information.

In some embodiments, the user interface 1900 presents an adjustment confirmation control configured to solicit a response regarding the user's comfort level with the position of the body part or the force exerted by the body part. The comfort level may be indicated by a binary selection (e.g., comfortable or not comfortable). In some embodiments, the comfort level may be an analog value that may be indicated numerically or with an analog input control, such as a slider or a rotary knob. In some embodiments, the comfort level may be indicated by one of several different comfort level values, such as an integer number from 1 to 5. In some embodiments, the comfort level may be indicated using controls for the user to maintain a setting or for the user to change the setting. More specifically, the control for the user to change the setting may provide for the user to change the setting in either of two or more directions. For example, the controls may allow the user to maintain the value of a setting, to increase the value of the setting, or to decrease the value of the setting.

In some embodiments, one or more of the controls may be provided by one or more of the sensors. For example, the user interface 1900 may prompt the user to move a body part until the user starts to feel discomfort. One or more of the sensors may measure the range of motion that the body part moved. The range of motion may be used for performing the rehabilitation regimen. For example, one or more of the sensors, such as a pressure sensor and/or a goniometer 106, may measure a physical response by the user, such as a flinch that indicates pain. A target value of a parameter may be set based upon the value of the parameter where the user indicated pain or discomfort. The target value of the parameter may then be used for performing the rehabilitation regimen of the treatment plan. A target parameter value may be the target value of the parameter. The target parameter value may be set based upon a value of the parameter where the user indicated pain or discomfort. The target parameter value may be set to X % of P, where X is a predetermined percentage, and P is the value of the parameter where the user indicated pain or discomfort. For example, if a user indicated pain at a pedal radius of 6.0 cm, and X is 90%, the target parameter value for the pedal position may be set to 5.4 cm, or 90% of 6.0 cm. Alternatively, the target parameter value may be set using an offset value that is added or subtracted from the value of the parameter where the user indicated pain or discomfort. For example, if a user indicated pain at pedal radius of 8.0 cm, and the offset value is −1.2 cm, then the target parameter value for the pedal radius may be set to 6.8 cm. Values of other parameters, such as target pressure or target speed, may be similarly adjusted.

In some embodiments, user interface 1900 of the user portal 118 can present an adjustment confirmation control configured to solicit a response regarding the patient's comfort level with the position of the body part or the force exerted by the body part. The comfort level may be indicated by a binary selection (e.g., comfortable or not comfortable). In some embodiments, the comfort level may be an analog value that may be indicated numerically or with an analog input control, such as a slider or a rotary knob. In some embodiments, the comfort level may be indicated by one of several different comfort level values, such as an integer number from 1 to 5. In some embodiments, the comfort level may be indicated using controls for the patient to maintain a setting or for the patient to change the setting. More specifically, the control for the patient to change the setting may provide for the patient to change the setting in either of two or more directions. For example, the controls may allow the patient to maintain the value of a setting, to increase the value of the setting, or to decrease the value of the setting.

FIG. 20 illustrates, according to certain embodiments of this disclosure, an example user interface 2000 of the user portal 118. The user interface 2000 enables the user to capture an image of the body part under rehabilitation. For example, via an image capture device 616, an image capture zone 2002 is presented on the user interface 2000. The dotted lines 2004 may populate to show a rough outline of the leg, for example, with a circle to indicate where the user's kneecap (patella) should be in the image. This enables the patient or user to line up his or her leg/knee, or any other desired body part, for the image. The user may select a camera icon 2006 to capture the image. If the user is satisfied with the image, the user can select a save button 2008 to store the image on the computing device 102 and/or in the cloud-based computing system 116. Also, the image may be transmitted to the computing device 114 executing the clinical portal 126.

FIGS. 21A-D illustrate an example user interface 2100 of the user portal 118. The user interface 2100 presents angles 2102 of an extension 2222 or a bend 2122 of a lower leg relative to an upper leg according to certain embodiments of this disclosure. As depicted in FIG. 21A, the user interface 2100 presents a graphical animation 2104 of the user's leg extending in real-time. The knee angle in the graphical animation 2104 may match the angle 2102 presented on the user interface 2100, for example, an angle of bend 2118 or an angle of extension 222. The computing device 102 may receive the angles of extension 2218 from the electronic device 106, and such device may be a goniometer or any other desired device that is worn by the user 2108 during an extension session and/or a pedaling session. To that end, although the graphical animation 2104 depicts the user 2108 extending his or her leg during an extension session, it should be understood that the user portal 118 may be configured to display the angles 2102 in real-time as the user 2108 operates the pedals 110 of the electromechanical device 104 in real-time.

FIG. 21B illustrates the user interface 2100 with the graphical animation 2104 as the lower leg is extended farther away from the upper leg, and the angle 2102 changed from 84 to 60 degrees of extension. FIG. 21C illustrates the user interface 2100 with the graphical animation 2104 as the lower leg is extended even farther away from the upper leg. The computing device 102 may record the lowest angle to which the user 2108 is able to extend his or her leg as measured by the electronic device 106, such as the goniometer. The angle 2102 may be sent to the computing device 114 and that lowest angle may be presented on the clinical portal 126 as an extension statistic for that extension session. Further, a bar 2110 may be presented and the bar 2110 may fill from left to right over a set amount of time. A notification may indicate that the patient or user 2108 should push down on his or her knee over a set amount of time or until a set amount of time, minimum or maximum, has elapsed. The user interface 2100 in FIG. 21D is similar to FIG. 21C but it presents the angle of bend 2118, measured by the electronic device 106, such as the goniometer, as the user 2108 retracts his or her lower leg closer to his or her upper leg (e.g., during the bend 2122). As depicted, the graphical animation 2104 presented on the user interface 2100 in real-time depicts the angle of the knee matching the angle 2102. The computing device 102 may record the highest angle that the user 2108 is able to bend his or her leg as measured by the electronic device, such as the goniometer 106. That angle 2102 may be sent to the computing device 114 and that highest angle may be presented on the clinical portal 126 as a bend statistic for that bend session.

FIG. 22 illustrates an example user interface 2200 of the user portal 118. The user interface 2200 presents a progress report 2202 for a user extending the lower leg away from the upper leg according to certain embodiments of this disclosure. The user interface 2200 presents a graph 2204 wherein the degrees of extension are on a y-axis and the days after surgery are on an x-axis. The angles depicted in the graph 2204 are the smallest angles achieved each day. The user interface 2200 also depicts the smallest angle the user has achieved for extension and indicates an percentage of improvement (83%) in extension since beginning the treatment plan. The user interface 2200 also indicates how many degrees are left before reaching a target extension angle. The user interface 2000 may also display a summary box 2206. The summary box 2206 may include information, such as the amount of strength improvement in the legs, the amount of strength improvement needed to satisfy a target strength goal, or any other desired information. The summary box 2206 may include information, such as a score based on the target values, performance of the user 2108, or any other desired information. For example, the target value may be one or more of a target heartrate, a target force that the user 2108 is to exert on the one or more pedals 110, a target range of motion of the first and/or second body parts 2112, 2114, a target position of the one or more pedals 110 on the radially-adjustable couplings 124, a target angle of flex at the joint 2116, a target number of bends 2122 or extensions 2222, a target number of steps, a target temperature, or any other desired target value.

FIG. 23 illustrates an example user interface 2300 of the user portal 118. The user interface 2300 presents a progress screen 2302 for a user bending the lower leg toward the upper leg according to certain embodiments of this disclosure. The user interface 2300 presents a graph 2304 with the degrees of bend on a y-axis and the days after surgery on the x-axis. The angles depicted in the graph 2304 are the highest angles of bend achieved each day. The user interface 2200 also depicts the smallest angle the user has achieved for bending and indicates a percentage of improvement (95%) in extension since beginning the treatment plan. The user interface 2200 also indicates how many degrees are left before reaching a target bend angle.

FIG. 24 illustrates an example user interface 2400 of the user portal 118. The user interface 2400 presents a progress screen 2402 for a discomfort level of the user according to certain embodiments of this disclosure. The user interface 2400 presents a graph 2404 with the discomfort level on a y-axis and the days after surgery on the x-axis. The user interface 2400 also depicts the lowest discomfort level the user has reported and a notification indicating a measurement of the reduction in discomfort that the user has experienced throughout the treatment plan.

FIG. 25 illustrates, according to certain embodiments of this disclosure, an example user interface 2500 of the user portal 118. The user interface presents a progress screen 2502 for a strength of a body part. The user interface 2500 presents a graph 2504 with the pounds of force exerted by the patient for both the left leg and the right leg on a y-axis and the days after surgery on the x-axis. The graph 2504 may show an average for left and right leg for a current session. For the number of sessions a user does each day, the average pounds of force for those sessions may be displayed for prior days as well. The user interface 2500 also depicts graphical representations 2506 of the left and right feet and a maximum amount of force the user has exerted for the left and right leg. The maximum amount (e.g., in pounds) of force depicted may be computed when the electromechanical device is operating in the active mode. The user may select to see statistics for prior days and the average level of active sessions for the current day may be presented as well. The user interface 2500 indicates the amount of strength improvement in the legs and the amount of strength improvement needed to satisfy a target strength goal, for example, in the summary box 2508.

FIG. 26 illustrates, according to certain embodiments of this disclosure, an example user interface 2600 of the user portal 118. The user interface presents a progress screen 2602 for a number of steps of the user. The user interface 2600 presents a graph 2604 with the number of steps taken by the user on a y-axis and the days after surgery on the x-axis. The user interface 2500 also depicts the highest number of steps the user has taken among all of the days in the treatment plan, the amount the user has improved in steps per day since starting the treatment plan, and the number of additional steps needed to meet a target step goal. The user may select to view prior days to see the total number of steps they have taken per day.

FIG. 27 illustrates, according to certain embodiments of this disclosure, an example user interface 2700 of the user portal 118. The user interface 2700 presents that the electromechanical device 104 is operating in a manual mode 2702. During the manual mode 2702, the user may set the speed, resistance, time to exercise, position of pedals, etc. In such a configuration, the control system for the electromechanical device 104 may not provide any assistance to operation of the electromechanical device 104. When the user selects any of the modes in the box 2704, a pedaling session may begin. Further, when the user selects button 2706, the user portal 118 may return to the user interface 1300 depicted in FIG. 13.

FIG. 28 illustrates, according to certain embodiments of this disclosure, an example user interface 2800 of the user portal 118. The user interface 2800 presents an option 2802 to modify a speed of the electromechanical device 104 operating in the passive mode 2804. The user may slide button 2806 to adjust the speed as desired during the passive mode 2804 where the electric motor is providing the driving force of the radially-adjustable couplings.

FIG. 29 illustrates, according to certain embodiments of this disclosure, an example user interface 2900 of the user portal 118. The user interface 2900 presents an option 2902 to modify a minimum speed of the electromechanical device 104 operating in the active-assisted mode 2904. The user may slide button 2906 to adjust the minimum speed that the user should maintain before the electric motor begins providing driving force.

FIG. 30 illustrates, according to certain embodiments of this disclosure, an example user interface 3000 of the clinical portal 126, wherein the user interface 3000 presents various options available to the clinician/physician. The clinical portal 126 may retrieve a list of patients for a particular physician who logs into the clinical portal 126. The list of patients may be stored on the computing device 114 or retrieved from the cloud-based computing system 116. A first option 3002 may enable the clinician to generate treatment plans for one or more of the patients, as described above. A second option 3004 may enable the clinician to view the number of sessions that each of the patients have completed in 24 hours. This may enable the clinician to determine whether the patients are keeping up with the treatment plan and whether to send notifications to those patients not completing the sessions. A third option 3006 may enable the clinician to view the patients who have poor extension (e.g., angle of extension above a target extension for a particular stage in the treatment plan). A fourth option 3008 may enable the clinician to view the patients who have poor flexion (e.g., angle of bend below a target bend for a particular stage in the treatment plan). A fifth option 3010 may enable the clinician to view the patients reporting high pain levels. Regarding any of the options, the clinician can contact the user and inquire as to the status of their lack of participation, or degree of extension, flexion and pain level etc. The clinical portal 126 provides the benefit of direct monitoring of the patients progress by the clinician, which may enable faster and more effective recoveries.

Further, the clinical portal may include an option to control aspects of operating the electromechanical device 104. For example, while the user is engaged in a pedaling session or when the user is not engaged in the pedaling session, the clinician may use the clinical portal 126 to adjust a position of a pedal 110 based on angles of extension/bend received from the computing device 102 and/or the goniometer 106 in real-time. In response to determining an amount of force exerted by the user exceeds a target force threshold, such as the force threshold 1730, the clinical portal 126 may enable the clinician to adjust the amount of resistance provided by the electric motor 122. The clinical portal 126 may enable the clinician to adjust the speed of the electric motor 122, and so forth. The user interfaces can include additional and/or fewer components and are not limited to those illustrated in FIGS. 13-30.

FIG. 31 illustrates, in accordance with one or more aspects of the present disclosure, example computer system 3100, which can perform any one or more of the methods described herein. In one example, computer system 3100 may correspond to the computing device 102 (e.g., user computing device), the computing device 114 (e.g., clinician computing device), one or more servers of the cloud-based computing system 116, the training engine 130, the servers 128, the motor controller 120, the pedals 110, the goniometer 106, and/or the wristband 108 of FIG. 1. The computer system 3100 may be capable of executing the user portal 118 and/or the clinical portal 126 of FIG. 1. The computer system 3100 may be connected (e.g., networked) to other computer systems in a LAN, an intranet, an extranet, or the Internet. The computer system 3100 may operate in the capacity of a server in a client-server network environment. The computer system 3100 may comprise a personal computer (PC), a tablet computer, a motor controller, a goniometer, a wearable device (e.g., wristband 108), a set-top box (STB), a personal Digital Assistant (PDA), a mobile phone, a camera, a video camera, an Internet of Things (IoT) sensor or device, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Further, while only a single computer system is illustrated, the term “computer” shall also be taken to include any collection of computers that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.

The computer system 3100 comprises a processing device 3102, a main memory 3104 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 3106 (e.g., flash memory, static random access memory (SRAM)), and a data storage device 3108, which communicate with each other via a bus 3110.

Processing device 3102 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processing device 3102 may comprise a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The processing device 3102 may also comprise one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 3102 is configured to execute instructions for performing any of the operations and steps discussed herein.

The computer system 3100 may further comprise a network interface device (NID) 3112. The computer system 3100 also may comprise a video display 3114 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), one or more input devices 3116 (e.g., a keyboard and/or a mouse), and one or more speakers 3118 (e.g., a speaker). In one illustrative example, the video display 3114 and the input device(s) 3116 may be combined into a single component or device (e.g., an LCD touch screen).

The data storage device 3108 may comprise a computer-readable storage medium 3120 on which the instructions 3122 (e.g., implementing control system, user portal, clinical portal, and/or any functions performed by any device and/or component depicted in the FIGURES and described herein) embodying any one or more of the methodologies or functions described herein are stored. The instructions 3122 may also reside, completely or at least partially, within the main memory 3104 and/or within the processing device 3102 during execution thereof by the computer system 3100. As such, the main memory 3104 and the processing device 3102 also constitute computer-readable media. The instructions 3122 may further be transmitted or received over a network via the network interface device 3112.

While the computer-readable storage medium 3120 is shown in the illustrative examples to be a single medium, the term “computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable storage medium” shall also be taken to include any medium capable of storing, encoding or carrying a set of instructions for execution by the machine and which cause the machine to perform any one or more of the methodologies of the present disclosure. The term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media. The computer system 3100 can include additional and/or fewer components and is not limited to those illustrated in FIG. 31.

In one aspect, a system for rehabilitation includes one or more electronic devices 106 comprising one or more memory devices 938 storing instructions 3122, one or more network interface cards 940, and one or more sensors 942. The one or more electronic devices 106 may be coupled to a user 2108. The system for rehabilitation may further include one or more processing devices 944 operatively coupled to the one or more memory devices 938, the one or more network interface cards 940, and the one or more sensors 942. The one or more processing devices 944 may be configured to execute the instructions 3122 to receive information from the one or more sensors 942. The one or more processing devices 944 may further be configured to execute the instructions 3122 to transmit, via the one or more network interface cards 940, the information to a computing device 102 controlling an electromechanical device 104. The information may be received while a user 2108 is engaging one or more pedals 110 of the electromechanical device 104. Engaging the pedals 110 can include the user 2108 moving the pedals 2108 or causing the pedals 2108 to not move. Engaging can mean engaging at the time the information is received, about to engage proximately in time or distance, or having just engaged with an intention of engaging again. The one or more processing devices 944 may further be configured to transmit, via the one or more network interface cards 940, the information to a second computing device 114 to cause the second computing device 114 to present the information. Presenting the information may be in a user portal 118 of a computing device 102 (e.g., to a user 2108), in a clinical portal 126 of a computing device 114 (e.g., to a clinician), or in any other desired device. The information may comprise a plurality of angles 2102. The plurality of angles 2102 may comprise at least one of angles during an extension 2222 and a bend 2122 of body parts of a user 2108. For example, the plurality of angles 2102 may comprise at least one of angles of extension 2218 of a first body part 2112 of a user 2108 extended away from a second body part 2114 at a joint 2116 and angles of bend 2118 of the first body part 2112 retracting closer toward the second body part 2114. The first body part 2112 may be a lower leg, a forearm, or any other desired body part. The second body part 2114 may be an upper leg, an upper arm, or any other desired body part. The joint 2116 may be a knee, an elbow, or any other desired body part. For example, the one or more electronic devices 106 may be configured for coupling 124 to the lower leg and the upper leg and for flexing adjacent to the knee.

The processing device may determine whether a range of motion threshold condition is satisfied based on the plurality of angles, such as the set of angles of extension 2218 and the set of angles of bend 2118. Responsive to determining that the range of motion threshold condition is satisfied, the processing device may change a diameter (or radius, or other measurement) of a range of motion of the one of the pedals 110 by modifying a position of one of the pedals 110 on one of the radially-adjustable couplings 124. Satisfying the range of motion threshold condition may indicate that the affected body part is strong enough or flexible enough to increase the range of motion allowed by the radially-adjustable couplings 124. For example, if the range of motion threshold is satisfied, the computing device 102 may adjust a first position of a first pedal 110 on a first radially-adjustable coupling 124 of the electromechanical device 104. The first position may be adjusted to change a first diameter of a first range of motion of the first pedal 110. The computing device 102 may also maintain a second diameter of a second range of motion of a second pedal 110 on a second radially-adjustable coupling 124 of the electromechanical device 104 (e.g., a pedal for an opposing leg or arm to the first leg or arm engaging the first pedal). The computing device 102 can maintain the second range of motion of the second pedal 110 at approximately a constant second diameter. The computing device 102 may adjust a first position of a first pedal 110 on a first radially-adjustable coupling 124 of the electromechanical device 104, wherein the adjusting of the first position changes a first diameter of a first range of motion of the first pedal 110. The computing device 102 may adjust a second position of a second pedal 110 on a second radially-adjustable coupling 124 of the electromechanical device 104, wherein the adjusting of the second position changes a second diameter of a second range of motion of the second pedal 110.

The one or more processing devices 944 may execute the instructions 3122 to determine a number of extensions and/or a number of bends. The number of extension may be the number of times the first body part 2112 is extended away from the second body part 2114. The number of bends may include the number of times the first body part 2112 is retracted closer toward the second body part 2114. The one or more processing devices 944 may execute the instructions 3122 to transmit, via the one or more network interface cards 940, the number of extensions to a second computing device 114, wherein the transmitting the number of extensions to the second computing device 114 causes the second computing device 114 to present the number of extensions. The one or more processing devices 944 may execute the instructions 3122 to transmit, via the one or more network interface cards 940, the number of bends to a second computing device 114, wherein the transmitting the number of bends to the second computing device 114 causes the second computing device 114 to present the number of bends. The number of extensions and/or the number of bends may change during the rehabilitation session, for example, in real-time. The number of extensions and/or the number of bends may be presented at the end of the rehabilitation session or any other desired time. The number of extensions and/or the number of bends can be displayed, for example, on a user interface 2000, for the user 2108 to monitor the progress of the plurality of extension sessions and/or the plurality of bend sessions throughout the treatment plan. As part of the treatment plan, the user 2108 may have a prescribed number of extensions and/or bends to achieve, for example, per exercise session or per day. Being able to view the number of extensions and/or bends in real-time, the user can determine how many more extensions/bends are needed to reach the desired number of extensions and/or bends. The number of extensions and/or the number of bends can be presented on a user interface of the clinical portal 126 for the clinician to monitor the number of extensions and/or the number of bends to access the progress of the user 2108. The clinician can adjust the prescribed number of extensions and/or bends in the treatment plan.

The transmitting the plurality of angles 2102 to the computing device 102 may cause the computing device 102 to present the plurality of angles 2102 in a graphical animation 2104 of the first body part 2112 and the second body part 2114 moving in real-time during the extension 2222 or the bend 2122. For example, the one or more sensors 942 may be worn by the user 2108 and the one or more processing devices 944 may be configured to present, on a user interface 2000 of a control system, a graphical animation 2104 of the first body part 2112, the second body part 2114, and the joint 2116 of a user 2108 as the first body part 2112 is extended away from the second body part 2114 via the joint 2116. The graphical animation 2104 can include a plurality of angles of extension 2218 as the plurality of angles of extension 2218 changes during the extension 2222. The one or more processing devices 944 may be configured to store as an extension statistic for an extension session a lowest value, such as a smallest angle, of the plurality of angles of extension 2218. The plurality of extension statistics may be stored for a plurality of extension sessions specified by a treatment plan 1302. The one or more processing devices 944 may be configured to present, via a graphical element on the user interface 2000, a progress of the plurality of extension sessions throughout the treatment plan 1302.

The one or more processing devices 944 may be configured to present, on a user interface 2000 of a control system, a graphical animation 2104 of a first body part 2112, a second body part 2114, and a joint 2116 of a user 2108 as the first body part 2112 is retracted closer to the second body part 2114 via the joint 2116. The graphical animation 2104 may include a plurality of angles of bend 2118 as the plurality of angles of bend 2118 changes during the bend 2122. The one or more processing devices 944 may be configured to store a highest value, such as a largest angle, of the plurality of angles of bend 2118 as a bend statistic for a bend session, wherein a plurality of bend statistics may be stored for a plurality of bend sessions specified by a treatment plan 1302. The one or more processing devices 944 may be configured to present, via a graphical element on the user interface 2000, a progress of the plurality of bend sessions throughout the treatment plan 1302. For example, the processing device 944 may present progress of the set of bend sessions throughout the treatment plan 1302 via a graphical element (e.g., line graph, bar chart, etc.) on the user interface 2000 presenting the set of bend statistics.

The one or more processing devices 944 may be configured to control an image capture device 616 to capture an image 2010 of a body part of a user 2108 being rehabilitated (e.g., take a photograph of a site 2012, such as a joint 2116, and store the photograph in the memory device 938). For example, the image capture device 616 may capture a site 2012 of the user's knee and part of the user's lower and upper legs. The one or more processing devices 944 may further be configured to transmit, to a computing device 114 operated by a clinician, the image 2010 of the body part, wherein the computing device 114 may be communicatively coupled to the control system.

The one or more processing devices 944 may further be configured to receive, from a wearable device, a number of steps taken by a user 2108 over a certain time period. The wearable device may be the wristband 108, the electronic device 106, or any other desired device. The one or more processing devices 944 may be configured to calculate whether the number of steps satisfies a step threshold of a treatment plan 1302 for the user 2108. The one or more processing devices 944 may be configured to display, on a user interface 2000, the number of steps taken by the user 2108 and an indication of whether the number of steps satisfies the step threshold. The indication may include whether the number of steps is greater than, equal to, or less than the number of steps equal to the step threshold. The indication may also include information as to how many steps were taken over the step threshold, how many steps were required to meet the steps threshold, or any other desired information. The one or more processing devices 944 may be configured to display, on the clinical portal 126, the number of steps taken by the user 2108 and an indication of whether the number of steps satisfies the step threshold.

The one or more processing devices 944 may execute the instructions 3122 to prompt the user 2108 to enter or change a target value into the computing device 102 and cause the computing device 102 to present the target value. The one or more processing devices 944 may execute the instructions 3122 to prompt a second user, such as a clinician, to enter the target value into a second computing device 114 and cause the computing device 102 to present the target value. The target value may also be presented on the second computing device 114. The target value may include at least one of a first target value, a second target value, a first pain score, a second pain score, a pedal speed, and a mode (e.g., a pedaling mode, such as the passive mode 1304, the active-assisted mode 1306, the resistive mode 1308, and/or the active mode 1310). The target values may be the same as or different values from the threshold condition values (e.g., the force threshold 1730, the revolutions threshold 1732, the steps threshold, the vitals threshold, etc.), or any other desired value. For example, the first target value and/or the second target value may be one or more of a target heartrate, a target force that the user 2108 is to exert on the one or more pedals 110, a target range of motion of the first and/or second body parts 2112, 2114, a target position of the one or more pedals 110 on the radially-adjustable couplings 124, a target angle of flexion at the joint 2116, a target number of bends 2122 or extensions 2222, a target number of steps, or any other desired target value.

The first pain score may be received by the user input 1504. The first pain score may be a first level of pain that a user 2108 is experiencing at a first time, such as at or before the beginning of the user's rehabilitation session, or any other desired time, and wherein, for example, the pain occurs at the first body part 2112, the second body part 2114, and/or the joint 2116. The second pain score may be received by the user input 1904. The second pain score may be a second level of pain that the user 2108 is experiencing at a second time, such as during the rehabilitation session, after the rehabilitation session, or at any other desired time. The one or more processing devices 944 may further be configured to assign a score based on the target value and a performance of the user. For example, the score can be assigned based on user 2108 input, a performance of the user 2108 (for example, information included in the options 3004, 3006, 3008, 3010), or any other desired information.

In another aspect, a system for rehabilitation may include one or more electronic devices 106 comprising one or more memory devices 938 storing instructions 3122, one or more network interface cards 940, and one or more sensors 942. The one or more electronic devices 106 may be coupled to a user 2108. The system for rehabilitation may further include an electromechanical device 104 comprising an electrical motor 122 and one or more pedals 110. The system for rehabilitation may further include one or more processing devices 944 operatively coupled to the one or more memory devices 938, the one or more network interface cards 940, and the one or more sensors 942. The one or more processing devices 944 may be configured based on the configuration information for the pedaling session to execute the instructions 3122 to receive configuration information for a pedaling session and to set a resistance parameter and a maximum pedal force parameter (e.g., the force threshold 1730). A selection of the configuration information may be received from the user interface 2000 presented to the user 2108. The configuration information may be received from a server computing device (e.g., the server 128) that received the configuration information from a clinical portal 126 presented on a computing device 114. The configuration information may comprise configuration information specified for a stage of a plurality of stages in a treatment plan 1302 for rehabilitating a body part of the user 2108. The one or more processing devices 944 may further be configured to execute the instructions 3122 to measure force applied to the one or more pedals 110 of the electromechanical device 104 as a user 2108 pedals or otherwise engages the electromechanical device 104. Based on the resistance parameter, the electrical motor 122 may provide resistance during the pedaling session. The one or more processing devices 944 may further be configured to execute the instructions 3122 to determine whether the measured force exceeds a value of a maximum pedal force parameter and, responsive to determining that the measured force exceeds the value of the maximum pedal force parameter, to reduce the resistance parameter so the electrical motor 122 applies less resistance during the pedaling session to maintain a revolutions per time period threshold (e.g., the revolutions threshold 1732). Responsive to determining that the measured force does not exceed the value of the maximum pedal force parameter, the one or more processing devices 944 may execute the instructions 3122 to maintain the same maximum pedal force parameter during the pedaling session.

In yet another aspect, a system for rehabilitation may further include one or more electronic devices 106 comprising one or more memory devices 938 storing instructions 3122, one or more network interface cards 940, and one or more sensors 942. The one or more electronic devices 106 may be flexible and worn by a user. The system for rehabilitation may further include one or more processing devices 944 operatively coupled to the one or more memory devices 938, the one or more network interface cards 940, and the one or more sensors 942. The one or more processing devices 944 may further be configured to execute the instructions 3122 to receive, from the one or more electronic devices 106, a plurality of angles of extension 2218 between an upper leg and a lower leg at a knee of the user. The plurality of angles 2102 may be measured as the user 2108 extends the lower leg away from the upper leg via the knee.

The one or more electronic devices 106 may be one or more goniometers or any other device configured to detect, acquire, or measure parameters of the user, for example, via the one or more sensors 942. The parameters may include the user's movement, temperature, number of steps, angles of extension or bend of body parts, or any other desired parameter. For example, one electronic device may be worn by a user on the upper leg and another electronic device on the lower leg. The one electronic device may be bendably connected to the second electronic device, for example. Each electronic device may include one or more sensors 942. The one or more sensors 942 may be configured to measure joint flexion. For example, the sensors may include accelerometers, flex sensors, magnets, or any other type of sensors. The one or more electronic devices 106 may include portions, such as arms, that are bendable or flexible. For example, the arms may have portions that can bend and move with the one or more body parts about the respective joint.

The one or more processing devices 944 may be configured to execute the instructions 3122 to present, on a user interface 2000, a graphical animation 2104 of the upper leg, the lower leg, and the knee of the user 2108 as the lower leg is extended away from the upper leg via the knee. The graphical animation 2104 may include the plurality of angles of extension 2218 as the plurality of angles of extension 2218 changes during the extension 2222. The one or more processing devices 944 may further be configured to execute the instructions 3122 to store a smallest angle of the plurality of angles of extension 2218 as an extension statistic for an extension session, wherein a plurality of extension statistics may be stored for a plurality of extension sessions specified by the treatment plan 1302. The one or more processing devices 944 may further be configured to execute the instructions 3122 to present throughout the treatment plan 1302 via a graphical element on the user interface 2000 presenting the plurality of extension statistics progress of the plurality of extension sessions. The graphical element may be a graph 2204, a bar chart 2110, text, numbers, or any other desired graphics. The one or more processing devices 944 may further be configured to execute the instructions 3122 to determine, based on the plurality of angles of extension 2218, whether a range of motion threshold condition is satisfied. Responsive to determining that the range of motion threshold condition is satisfied, the one or more processing devices 944 may transmit, via the one or more network interface cards 940, a threshold condition update to a second computing device 114 to cause the second computing device 114 to present the threshold condition update. The threshold condition update may be presented in the clinical portal 126, the user portal 118, or in any other desired computing device.

Clause 1. A system for rehabilitation, comprising:

one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are coupled to a user; and one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors, wherein the one or more processing devices execute the instructions to:

-   -   receive information from the one or more sensors; and     -   transmit, via the one or more network interface cards, the         information to a computing device controlling an         electromechanical device.

Clause 2. The system of any preceding clause, wherein the information is received while a user is engaging one or more pedals of the electromechanical device.

Clause 3. The system of any preceding clause, wherein the one or more processing devices are further configured to transmit, via the one or more network interface cards, the information to a second computing device to cause the second computing device to present the information.

Clause 4. The system of any preceding clause, wherein the information comprises a plurality of angles, wherein the plurality of angles comprises at least one of angles of extension of a first body part of a user extended away from a second body part at a joint and angles of bend of the first body part retracting closer toward the second body part.

Clause 5. The system of any preceding clause, wherein the transmitting the plurality of angles to the computing device causes the computing device to:

adjust a first position of a first pedal on a first radially-adjustable coupling of the electromechanical device, wherein the adjusting of the first position changes a first diameter of a first range of motion of the first pedal; and

maintain a second diameter of a second range of motion of a second pedal on a second radially-adjustable coupling of the electromechanical device.

Clause 6. The system of any preceding clause, wherein at least one of the angles of extension and the angles of bend satisfies a range of motion threshold condition to cause the adjustment of the first position.

Clause 7. The system of any preceding clause, wherein the transmitting the plurality of angles to the computing device causes the computing device to:

adjust a first position of a first pedal on a first radially-adjustable coupling of the electromechanical device, wherein the adjusting of the first position changes a first diameter of a first range of motion of the first pedal; and

adjust a second position of a second pedal on a second radially-adjustable coupling of the electromechanical device, wherein the adjusting of the second position changes a second diameter of a second range of motion of the second pedal.

Clause 8. The system of any preceding clause, wherein at least one of the angles of extension and the angles of bend satisfies a range of motion threshold condition to cause the adjustments of the first and second positions.

Clause 9. The system of any preceding clause, wherein the first body part is a lower leg, the second body part is an upper leg, and the joint is a knee; and wherein the one or more electronic devices are configured for coupling to the lower leg and the upper leg, and for flexing adjacent to the knee.

Clause 10. The system of any preceding clause, wherein the transmitting the plurality of angles to the computing device causes the computing device to present the plurality of angles in a graphical animation of the first body part and the second body part, each moving in real-time during the extension or the bend.

Clause 11. The system of any preceding clause, wherein the one or more processing devices executes the instructions to:

select a number of extensions or a number of bends; and

transmit, via the one or more network interface cards, the number of extensions or the number of bends to a second computing device, wherein the transmitting the number of extensions or the number of bends to the second computing device causes the second computing device to present the respective number of extensions or the number of bends.

Clause 12. The system of any preceding clause, wherein the one or more sensors are worn by the user, and wherein the one or more processing devices are further configured to:

present, on a user interface of a control system, a graphical animation of a first body part, a second body part, and a joint of a user as the first body part is extended away from the second body part via the joint, wherein the graphical animation includes a plurality of angles of extension as the plurality of angles of extension changes during the extension;

store a smallest angle of the plurality of angles of extension as an extension statistic for an extension session, wherein a plurality of extension statistics is stored for a plurality of extension sessions specified by a treatment plan; and present, throughout the treatment plan, via a graphical element on the user interface, a progress of the plurality of extension sessions.

Clause 13. The system of any preceding clause, wherein the one or more sensors are worn by the user, and wherein the one or more processing devices are further configured to:

present, on a user interface of a control system, a graphical animation of a first body part, a second body part, and a joint of a user as the first body part is retracted closer to the second body part via the joint, wherein the graphical animation includes a plurality of angles of bend as the plurality of angles of bend changes during the bend;

store a largest angle of the plurality of angles of bend as a bend statistic for a bend session, wherein a plurality of bend statistics is stored for a plurality of bend sessions specified by a treatment plan; and

present, throughout the treatment plan, via a graphical element on the user interface, a progress of the plurality of bend sessions.

Clause 14. The system of any preceding clause, wherein the one or more processing devices are further configured to:

control an image capture device to capture an image of a body part of a user being rehabilitated; and

transmit, to a computing device operated by a clinician, the image of the body part, wherein the computing device is communicatively coupled to the control system.

Clause 15. The system of any preceding clause, wherein the one or more processing devices are further configured to:

receive, from a wearable device, a number of steps taken by a user over a certain time period;

calculate whether the number of steps satisfies a step threshold of a treatment plan for the user; and

display, on a user interface, the number of steps taken by the user and an indication of whether the number of steps satisfies the step threshold.

Clause 16. The system of any preceding clause, wherein the one or more processing devices executes the instructions to:

prompt a second user to enter a target value into a second computing device; and

cause the computing device to present the target value.

Clause 17. The system of any preceding clause, wherein the target value includes at least one of a first target value, a second target value, a first pain score, a second pain score, a pedal speed, and a mode.

Clause 18. The system of any preceding clause, wherein the one or more processing devices are further configured to assign a score based on the target value and a performance of the user.

Clause 19. A system for rehabilitation, comprising:

one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are coupled to a user;

an electromechanical device comprising an electric motor and one or more pedals; and

one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors, wherein the one or more processing devices execute the instructions to:

-   -   receive configuration information for a pedaling session;     -   based on the configuration information for the pedaling session,         set a resistance parameter and a maximum pedal force parameter;     -   measure force applied to the one or more pedals of the         electromechanical device as a user pedals the electromechanical         device, wherein, based on the resistance parameter, the electric         motor provides resistance during the pedaling session;     -   determine whether the measured force exceeds a value of the         maximum pedal force parameter; and     -   responsive to determining that the measured force exceeds the         value of the maximum pedal force parameter, reduce the         resistance parameter so the electric motor applies less         resistance during the pedaling session to maintain a revolutions         per time period threshold.

Clause 20. The system of any preceding clause, wherein the one or more processing devices execute the instructions to:

responsive to determining that the measured force does not exceed the value of the maximum pedal force parameter, maintain, during the pedaling session, the same maximum pedal force parameter.

Clause 21. The system of any preceding clause, wherein the configuration information is received from a server computing device that received the configuration information from a clinical portal presented on a computing device.

Clause 22. The system of any preceding clause, wherein the configuration information comprises configuration information specified for a stage of a plurality of stages in a treatment plan for rehabilitating a body part of the user.

Clause 23. The system of any preceding clause, further comprising receiving a selection of the configuration information from the user interface presented to the user.

Clause 24. A system for rehabilitation, comprising:

one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are flexible and worn by a user; and

one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors, wherein the one or more processing devices execute the instructions to:

-   -   receive, from the one or more electronic devices, a plurality of         angles of extension between an upper leg and a lower leg at a         knee of the user, wherein the plurality of angles is measured as         the user extends the lower leg away from the upper leg via the         knee;     -   present, on a user interface, a graphical animation of the upper         leg, the lower leg, and the knee of the user as the lower leg is         extended away from the upper leg via the knee, wherein the         graphical animation includes the plurality of angles of         extension as the plurality of angles of extension changes during         the extension;     -   store a smallest angle of the plurality of angles of extension         as an extension statistic for an extension session, wherein a         plurality of extension statistics is stored for a plurality of         extension sessions specified by the treatment plan;     -   present progress of the plurality of extension sessions         throughout the treatment plan via a graphical element presenting         the plurality of extension statistics on the user interface;     -   based on the plurality of angles of extension, determine whether         a range of motion threshold condition is satisfied; and     -   responsive to determining that the range of motion threshold         condition is satisfied, transmit, via the one or more network         interface cards, a threshold condition update to a second         computing device to cause the second computing device to present         the threshold condition update.

No part of the description in this application should be read as implying that any particular element, step, or function is an essential element that must be included in the claim scope. The scope of patented subject matter is defined only by the claims. Moreover, none of the claims is intended to invoke 35 U.S.C. § 112(f) unless the exact words “means for” are followed by a participle.

The foregoing description, for purposes of explanation, use specific nomenclature to provide a thorough understanding of the described embodiments. However, it should be apparent to one skilled in the art that the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of specific embodiments are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It should be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings.

The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Once the above disclosure is fully appreciated, numerous variations and modifications will become apparent to those skilled in the art. It is intended that the following claims be interpreted to embrace all such variations and modifications. 

What is claimed is:
 1. A system for rehabilitation, comprising: one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are coupled to a user; and one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors, wherein the one or more processing devices execute the instructions to: receive information from the one or more sensors; and transmit, via the one or more network interface cards, the information to a computing device controlling an electromechanical device.
 2. The system of claim 1, wherein the information is received while a user is engaging one or more pedals of the electromechanical device.
 3. The system of claim 1, wherein the one or more processing devices are further configured to transmit, via the one or more network interface cards, the information to a second computing device to cause the second computing device to present the information.
 4. The system of claim 1, wherein the information comprises a plurality of angles, wherein the plurality of angles comprises at least one of angles of extension of a first body part of a user extended away from a second body part at a joint and angles of bend of the first body part retracting closer toward the second body part.
 5. The system of claim 4, wherein the transmitting the plurality of angles to the computing device causes the computing device to: adjust a first position of a first pedal on a first radially-adjustable coupling of the electromechanical device, wherein the adjusting of the first position changes a first diameter of a first range of motion of the first pedal; and maintain a second diameter of a second range of motion of a second pedal on a second radially-adjustable coupling of the electromechanical device.
 6. The system of claim 5, wherein at least one of the angles of extension and the angles of bend satisfies a range of motion threshold condition to cause the adjustment of the first position.
 7. The system of claim 4, wherein the transmitting the plurality of angles to the computing device causes the computing device to: adjust a first position of a first pedal on a first radially-adjustable coupling of the electromechanical device, wherein the adjusting of the first position changes a first diameter of a first range of motion of the first pedal; and adjust a second position of a second pedal on a second radially-adjustable coupling of the electromechanical device, wherein the adjusting of the second position changes a second diameter of a second range of motion of the second pedal.
 8. The system of claim 7, wherein at least one of the angles of extension and the angles of bend satisfies a range of motion threshold condition to cause the adjustments of the first and second positions.
 9. The system of claim 4, wherein the first body part is a lower leg, the second body part is an upper leg, and the joint is a knee; and wherein the one or more electronic devices are configured for coupling to the lower leg and the upper leg, and for flexing adjacent to the knee.
 10. The system of claim 4, wherein the transmitting the plurality of angles to the computing device causes the computing device to present the plurality of angles in a graphical animation of the first body part and the second body part, each moving in real-time during the extension or the bend.
 11. The system of claim 4, wherein the one or more processing devices executes the instructions to: select a number of extensions or a number of bends; and transmit, via the one or more network interface cards, the number of extensions or the number of bends to a second computing device, wherein the transmitting the number of extensions or the number of bends to the second computing device causes the second computing device to present the respective number of extensions or the number of bends.
 12. The system of claim 1, wherein the one or more sensors are worn by the user, and wherein the one or more processing devices are further configured to: present, on a user interface of a control system, a graphical animation of a first body part, a second body part, and a joint of a user as the first body part is extended away from the second body part via the joint, wherein the graphical animation includes a plurality of angles of extension as the plurality of angles of extension changes during the extension; store a smallest angle of the plurality of angles of extension as an extension statistic for an extension session, wherein a plurality of extension statistics is stored for a plurality of extension sessions specified by a treatment plan; and present, throughout the treatment plan, via a graphical element on the user interface, a progress of the plurality of extension sessions.
 13. The system of claim 1, wherein the one or more sensors are worn by the user, and wherein the one or more processing devices are further configured to: present, on a user interface of a control system, a graphical animation of a first body part, a second body part, and a joint of a user as the first body part is retracted closer to the second body part via the joint, wherein the graphical animation includes a plurality of angles of bend as the plurality of angles of bend changes during the bend; store a largest angle of the plurality of angles of bend as a bend statistic for a bend session, wherein a plurality of bend statistics is stored for a plurality of bend sessions specified by a treatment plan; and present, throughout the treatment plan, via a graphical element on the user interface, a progress of the plurality of bend sessions.
 14. The system of claim 1, wherein the one or more processing devices are further configured to: control an image capture device to capture an image of a body part of a user being rehabilitated; and transmit, to a computing device operated by a clinician, the image of the body part, wherein the computing device is communicatively coupled to the control system.
 15. The system of claim 1, wherein the one or more processing devices are further configured to: receive, from a wearable device, a number of steps taken by a user over a certain time period; calculate whether the number of steps satisfies a step threshold of a treatment plan for the user; and display, on a user interface, the number of steps taken by the user and an indication of whether the number of steps satisfies the step threshold.
 16. The system of claim 1, wherein the one or more processing devices executes the instructions to: prompt a second user to enter a target value into a second computing device; and cause the computing device to present the target value.
 17. The system of claim 16, wherein the target value includes at least one of a first target value, a second target value, a first pain score, a second pain score, a pedal speed, and a mode.
 18. The system of claim 16, wherein the one or more processing devices are further configured to assign a score based on the target value and a performance of the user.
 19. A system for rehabilitation, comprising: one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are coupled to a user; an electromechanical device comprising an electric motor and one or more pedals; and one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors, wherein the one or more processing devices execute the instructions to: receive configuration information for a pedaling session; based on the configuration information for the pedaling session, set a resistance parameter and a maximum pedal force parameter; measure force applied to the one or more pedals of the electromechanical device as a user pedals the electromechanical device, wherein, based on the resistance parameter, the electric motor provides resistance during the pedaling session; determine whether the measured force exceeds a value of the maximum pedal force parameter; and responsive to determining that the measured force exceeds the value of the maximum pedal force parameter, reduce the resistance parameter so the electric motor applies less resistance during the pedaling session to maintain a revolutions per time period threshold.
 20. The system of claim 19, wherein the one or more processing devices execute the instructions to: responsive to determining that the measured force does not exceed the value of the maximum pedal force parameter, maintain, during the pedaling session, the same maximum pedal force parameter.
 21. The system of claim 19, wherein the configuration information is received from a server computing device that received the configuration information from a clinical portal presented on a computing device.
 22. The system of claim 19, wherein the configuration information comprises configuration information specified for a stage of a plurality of stages in a treatment plan for rehabilitating a body part of the user.
 23. The system of claim 19, further comprising receiving a selection of the configuration information from the user interface presented to the user.
 24. A system for rehabilitation, comprising: one or more electronic devices comprising one or more memory devices storing instructions, one or more network interface cards, and one or more sensors, wherein the one or more electronic devices are flexible and worn by a user; and one or more processing devices operatively coupled to the one or more memory devices, the one or more network interface cards, and the one or more sensors, wherein the one or more processing devices execute the instructions to: receive, from the one or more electronic devices, a plurality of angles of extension between an upper leg and a lower leg at a knee of the user, wherein the plurality of angles is measured as the user extends the lower leg away from the upper leg via the knee; present, on a user interface, a graphical animation of the upper leg, the lower leg, and the knee of the user as the lower leg is extended away from the upper leg via the knee, wherein the graphical animation includes the plurality of angles of extension as the plurality of angles of extension changes during the extension; store a smallest angle of the plurality of angles of extension as an extension statistic for an extension session, wherein a plurality of extension statistics is stored for a plurality of extension sessions specified by the treatment plan; present progress of the plurality of extension sessions throughout the treatment plan via a graphical element presenting the plurality of extension statistics on the user interface; based on the plurality of angles of extension, determine whether a range of motion threshold condition is satisfied; and responsive to determining that the range of motion threshold condition is satisfied, transmit, via the one or more network interface cards, a threshold condition update to a second computing device to cause the second computing device to present the threshold condition update. 